[PATCH] SCEVExpander incorrectly marks increment operations as no-wrap

Andrew Trick atrick at apple.com
Thu Feb 26 00:00:16 PST 2015


> On Feb 25, 2015, at 11:58 PM, Sanjoy Das <sanjoy at playingwithpointers.com> wrote:
> 
>> Do you think LFTR is a canonicalization? Have you run across SCEV logic that depends on an exit test that checks equality?
> 
> No.  As far as I can tell, there does not seem to be any such
> restriction within SCEV.
> 
>> From what I can remember, LFTR mainly exists so that LSR can create a downward-counting IV. In fact, if that’s the only purpose, LFTR should really be moved to LSR.
> 
> That is quite possible.  I've not studied it's effects in depth; it
> just sprang out as something that won't work directly on the kind of
> IR we generate, so I was wonder how important it was.

Not very important, and I’m pretty sure LFTR should be moved to a post-canonical target-specific pass like LSR.
Andy

> 
> -- Sanjoy





More information about the llvm-commits mailing list