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