[llvm-branch-commits] [clang] [CIR] Replace nsw/nuw unit attrs with OverflowFlags BitEnum (PR #195618)
Andy Kaylor via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue May 5 13:05:43 PDT 2026
================
@@ -61,6 +61,15 @@ constexpr bool testFlag(OverflowBehavior ob, OverflowBehavior flag) {
return (ob & flag) != OverflowBehavior::None;
}
+inline OverflowFlags toOverflowFlags(OverflowBehavior ob) {
+ auto flags = OverflowFlags::none;
+ if (testFlag(ob, OverflowBehavior::NoSignedWrap))
+ flags = flags | OverflowFlags::nsw;
+ if (testFlag(ob, OverflowBehavior::NoUnsignedWrap))
+ flags = flags | OverflowFlags::nuw;
+ return flags;
----------------
andykaylor wrote:
Should you assert that the `Saturated` flag isn't set here? Otherwise, a comment explaining why this function ignores that flag would be useful.
https://github.com/llvm/llvm-project/pull/195618
More information about the llvm-branch-commits
mailing list