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