[PATCH] Teach IndVarSimplify to add nuw and nsw to operations that provably don't overflow.
Philip Reames
listmail at philipreames.com
Mon Dec 29 14:37:12 PST 2014
On 12/23/2014 04:55 PM, Chandler Carruth wrote:
>
> On Tue, Dec 23, 2014 at 4:51 PM, Sanjoy Das
> <sanjoy at playingwithpointers.com
> <mailto:sanjoy at playingwithpointers.com>> wrote:
>
> > Perhaps it would help to explain it slightly differently: There are
> > optimizations which we can only perform by *removing* any
> no-wrap flags. But
> > we don't know whether that optimization or the no-wrap flags is more
> > important, and so we have to make a choice, and the choice is to
> preserve
> > the flags at the expense of the transformation. Thus, adding
> flags can
>
> Is this choice always in favor of retaining the flags? Or is it a
> per-transform decision?
>
>
> per-transform, but at least recently I've been seeing a trend towards
> preserving flags.
>
Chandler, thanks for reframing this. This suddenly makes a lot more
sense to me. :)
This is starting to seem like an canonicalization issue. If we
canonicalized to the form with flags, and deferred flag stripping until
later in the optimization pipeline, would that get us a better practical
result?
Philip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141229/50d1c801/attachment.html>
More information about the llvm-commits
mailing list