[Mlir-commits] [mlir] [mlir][tensor] fix out-of-bound index in tensor.dim (PR #85901)
Mehdi Amini
llvmlistbot at llvm.org
Wed Mar 20 01:07:36 PDT 2024
================
@@ -738,11 +741,11 @@ OpFoldResult DimOp::fold(FoldAdaptor adaptor) {
if (!tensorType)
return {};
- // Out of bound indices produce undefined behavior but are still valid IR.
- // Don't choke on them.
+ // Fold dim to posion if the index is out of bound. Poison represents
+ // undefined behavior.
int64_t indexVal = index.getInt();
if (indexVal < 0 || indexVal >= tensorType.getRank())
- return {};
+ return ub::PoisonAttr::get(getContext());
----------------
joker-eph wrote:
Is the Tensor dialect already dependent on UB dialect and generating poison values?
https://github.com/llvm/llvm-project/pull/85901
More information about the Mlir-commits
mailing list