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