Loop opt weirdness
Jeffrey A Law
law@cygnus.com
Wed Jun 30 15:43:00 GMT 1999
In message < vyz3dzzw2g1.fsf@issan.cs.uni-dortmund.de >you write:
> Wrong, this completely ignores the biv increment at insn 39. The correct
> expression would be (plus (reg 35) -4).
Correct. It's busted.
> Can someone please explain me how this is supposed to work?
We either need to avoid the dangerous combination or account for the
biv increment (scaling appropriately) when expressing the later giv
using the first giv.
This is precisely the problem with 990513-1.c. There's a handful of
other problems in this code, rather than try to apply a mega-patch from
Joern to the branch, I have disabled the biv -> giv conversion as well
as recombine_givs.
jeff
More information about the Gcc
mailing list