Fix PR90796
Rainer Orth
ro@CeBiTec.Uni-Bielefeld.DE
Tue Oct 22 20:57:00 GMT 2019
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
More information about the Gcc-patches
mailing list