Since the update to gcc 7 the flag --use-gcc-graphite has been broken. I've
fixed this locally and believe that the flag no longer serves a purpose as
the extra lib can be built as part of gcc, and graphite is only active with
compile flags.
I've done the following changes in buildtools:
* Upgrade ISL from 0.12.2 (2014-01-12) to 0.19 (2018-03-03)
See http://isl.gforge.inria.fr/user.html#Changes-since-isl-0.12
GCC requires ISL 0.15 or later, ISL requires GMP see
https://gcc.gnu.org/install/prerequisites.html for more info.
* Move ISL into gcc-dir for gcc to autodetect and build ISL
GCC will autobuild ISL and ISL has deps on GMP, MPC and MPFR which are
also built by GCC.
* Remove CLOOG, it is no longer a requirement of GCC and has been replaced
with ISL
Is it used by anything else as well? Or just for graphite?
* Upgrade GMP from 5.0.5 (2012-05-06) to 6.1.2 (2016-12-16)
See https://gmplib.org/gmp6.1.html for recent changes. A lot of changes
since 5.0.5 is only
documented in NEWS inside package. Speedups and better support for ARM
and newer processors is in there.
Required by GCC and ISL
* Upgrade MPC from 1.0.1 to 1.1.0
Could not find link to changes, but its NEWS file lists mostly bugfixes.
Required by GCC
* MPFR from 3.1.2 (2013-03-13) to 4.0.1 (2018-02-07)
See
https://gforge.inria.fr/scm/viewvc.php/mpfr/tags/4.0.1/NEWS?revision=12202&view=markup#l35
for the list of changes
Required by GCC
In the Haiku tree we can then remove --use-gcc-graphite flag and it's
special compile commands in build/scripts/build_cross_tools_gcc4
ISL is a small lib and is now built by default by gcc
I've been testing it out for some time and I have not found any issues with
64 bit builds including UEFI bootloader. I got the impression that Haiku
feels snappier. I also tested and enabled additional graphite flags [1] and
built with and that seems to work well as well. I do not propose changing
those in git however.
Comments? Would it be ok to do?
/Fredrik Holmqvist, TQH
1) Compile flags in build/jam/BuildSetup:
+OPTIM ?= -O2 -ftree-loop-linear -floop-strip-mine -floop-block
-fgraphite-identity -floop-nest-optimize -floop-interchange ;