[PATCH] D89381: [SCEV] Re-enable "Use nw flag and symbolic iteration count to sharpen ranges of AddRecs", attempt 3
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 27 22:06:42 PDT 2020
mkazantsev added inline comments.
================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:5764
+ ConstantRange EndRange =
+ IsSigned ? getSignedRange(End) : getUnsignedRange(End);
+ ConstantRange RangeBetween = StartRange.unionWith(EndRange);
----------------
nikic wrote:
> It might make more sense to use `getRangeRef(Start, SignHint)` and `getRangeRef(End, SignHint)` here, rather than going SignHint -> IsSigned -> SignHint.
Good point!
================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:5773
+ IsSigned ? RangeBetween.getLower().sge(RangeBetween.getUpper())
+ : RangeBetween.getLower().uge(RangeBetween.getUpper());
+ if (IsWrappingRange)
----------------
nikic wrote:
> You can use isWrappedSet() and isSignWrappedSet() here (there are some special cases due to the half-open range).
Will do.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89381/new/
https://reviews.llvm.org/D89381
More information about the llvm-commits
mailing list