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

Krzysztof Drewniak llvmlistbot at llvm.org
Wed Jan 7 13:27:56 PST 2026


================
@@ -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())
----------------
krzysz00 wrote:

If someone's operation implements the interface and doesn't initialize an output, that's on them

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


More information about the Mlir-commits mailing list