[Bug middle-end/30322] ((-i-1) + i) +1) is turned into ~i + (i+1) and never into 0 on the tree level

rakdver at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Jan 9 15:30:00 GMT 2007



------- Comment #7 from rakdver at gcc dot gnu dot org  2007-01-09 15:30 -------
(In reply to comment #6)
> It seems to be IVOPTs rewriting introduces the trees.  Testcase:

Which happens because fold causes the number of iterations of the loop to be
something like e + ~f, and then is not able to deal with the expressions like
the one in the testcase.  I will fix tree-affine to deal with this, but perhaps
it would be preferable not to perform this transformation in fold at all, and
leave it for simplification on rtl.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30322



More information about the Gcc-bugs mailing list