Hi Michael,

> this was still collecting dust on my disk, so here it is.  See the 
> extensive comment in the patch for what happens, in short invariant IVs 
> are affine but still have to be handled more conservative than other 
> affine IVs in transformations that reorder instructions.  Making our 
> dependence analysis more conservative instead would be too much, we 
> wouldn't be able to handle cases that we should handle anymore.
>
> Regstrapped on x86-64-linux without regressions (all languages+Ada).
>
>
> Ciao,
> Michael.
>
>       PR middle-end/90796
>       * gimple-loop-jam.c (any_access_function_variant_p): New function.
>       (adjust_unroll_factor): Use it to constrain safety, new parameter.
>       (tree_loop_unroll_and_jam): Adjust call and profitable unroll factor.
>
> testsuite/
>       * gcc.dg/unroll-and-jam.c: Add three invalid and one valid case.

this testcase now FAILs on 32-bit targets (seen on i386-pc-solaris2.11
and sparc-sun-solaris2.11, also reports for i686-pc-linux-gnu and
i586-unknown-freebsd11.2):

+FAIL: gcc.dg/unroll-and-jam.c scan-tree-dump-times unrolljam "applying unroll 
and jam" 6

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to