[PATCH] D61922: [IndVarSimplify] Rotate exit comparisons to make them more invariant

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 14 16:01:46 PDT 2019


reames added a comment.

In D61922#1502199 <https://reviews.llvm.org/D61922#1502199>, @reames wrote:

> Hm, it looks like there may be an overlap w/LFTR.  With a slightly less reduced test case, we end up being able to prove nsw/nuw on several of the adds if we allow CVP to do so.  We may be better off fixing https://bugs.llvm.org/show_bug.cgi?id=31181, and then extending LFTR slightly to catch the remaining cases.
>
> I'd appreciate review in case I missed something, but I think I'm going to delay landing this until I've dug into that option a bit.


There's a lot less overlap then there first looked to be.  My test cases turned out to be over-reduced in another manner.  :)  This approach has the advantage of a) not requiring a statically computable loop exit count and b) working on multiple exit loops.  LFTR could probably be extended to handle (b), but (a) is quite useful on it's own.  I think having both is quite useful.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61922/new/

https://reviews.llvm.org/D61922





More information about the llvm-commits mailing list