[Mlir-commits] [mlir] [mlir][arith] Fix SelectOp unsafe int range inference with unfinalized range case (PR #173716)

Longsheng Du llvmlistbot at llvm.org
Wed Dec 31 05:10:22 PST 2025


================
@@ -329,7 +329,13 @@ void arith::SelectOp::inferResultRangesFromOptional(
       setResultRange(getResult(), trueCase);
     return;
   }
-  setResultRange(getResult(), IntegerValueRange::join(trueCase, falseCase));
+
+  // When one of the ranges is uninitialized, set the whole range to max
+  // otherwise the result will ignore the uninitialized range.
+  if (trueCase.isUninitialized() || falseCase.isUninitialized())
----------------
LongshengDu wrote:

We have to ensure the correctness of default select op behaviors somehow, uninitialized range value from custom ops may occur.

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


More information about the Mlir-commits mailing list