This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: requirements for graphite & loop-block


On 03. 04. 2017 15:29, Jonathan Wakely wrote:
On 3 April 2017 at 00:25, L A Walsh wrote:
The loop-block optimization say it needs cloog + ppl for
graphite -- but I saw an email from July 2012, Jonathan Wakely,
that says the trunk was using isl, so ppl wasn't needed.

Does that imply that 5 years later, what was in trunk might
be in the mainstream releases?  I.e. what, besides
cloog is needed, "today" for building the graphite optimizers,
ppl or isl?
Just ISL, not cloog or ppl, as documented:
https://gcc.gnu.org/install/prerequisites.html

That's for trunk, for a specific release see the docs included in the
release sources. No currently supported release needs cloog or ppl.
GCC 4.9 needed isl and cloog.

If isl, should the manpage text for loop-block saying
that ppl is required be updated?
It already has been:

        -floop-block
        -floop-unroll-and-jam
            Perform loop nest optimizations.  Same as
-floop-nest-optimize.  To use this code transformation, GCC has to be
configured with --with-isl to enable the Graphite loop transformation
infrastructure.

If you look at the manpage for an old release then you'll see the
requirements for the old release.

That being said, I'm using gcc-6.3.0 + isl-0.18 on my Gentoo on all packages and on quite a few of them I had to turn it off because it fails to compile. I'm using graphite with flto, but usually graphite fails on its own ( with or without flto).

Here is simple example with comiling tar-1.29:

CFLAGS="-march=native -O3 -pipe -fno-delete-null-pointer-checks -fgraphite-identity -floop-nest-optimize"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

result:

getopt.c: In function ‘exchange’:
getopt.c:144:1: internal compiler error: in add_loop_constraints, at graphite-sese-to-poly.c:933
 exchange (char **argv, struct _getopt_data *d)
 ^~~~~~~~



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]