[llvm] [SCEV] Move NoWrapFlags definition outside SCEV scope, use for SCEVUse. (PR #190199)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 2 08:59:25 PDT 2026
================
@@ -1046,6 +1046,20 @@ class SCEVLoopAddRecRewriter
LoopToScevMapT ⤅
};
+template <typename SCEVPtrT>
+inline SCEVWrap::NoWrapFlags
+SCEVUseT<SCEVPtrT>::getNoWrapFlags(SCEVWrap::NoWrapFlags Mask) const {
+ unsigned Flags = SCEV::FlagAnyWrap;
+ if (auto *NAry = dyn_cast<SCEVNAryExpr>(Base::getPointer()))
+ Flags = NAry->getNoWrapFlags();
+ // Use-flags only encode NUW/NSW in 2 bits; shift to align with NoWrapFlags.
+ unsigned UseFlags = Base::getInt() << 1;
----------------
nikic wrote:
Reuse getUseNoWrapFlags() here?
https://github.com/llvm/llvm-project/pull/190199
More information about the llvm-commits
mailing list