[llvm] [SCEV] Introduce exact flag for UDiv (PR #225065)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 01:11:48 PDT 2026


================
@@ -302,9 +302,8 @@ Value *SCEVExpander::InsertBinop(Instruction::BinaryOps Opcode, Value *LHS,
           if (I->hasNoUnsignedWrap() != any(Flags & SCEV::FlagNUW))
             return true;
         }
-        // Conservatively, do not use any instruction which has any of exact
-        // flags installed.
-        if (isa<PossiblyExactOperator>(I) && I->isExact())
+        if (isa<PossiblyExactOperator>(I) &&
+            I->isExact() != any(Flags & SCEV::FlagExact))
----------------
david-arm wrote:

Do you need the `any` here?

https://github.com/llvm/llvm-project/pull/225065


More information about the llvm-commits mailing list