requirements for graphite & loop-block

Branko brankob@s5tehnika.net
Mon Apr 3 17:50:00 GMT 2017


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)
  ^~~~~~~~




More information about the Gcc-help mailing list