diff --git a/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp b/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp index 7b1b1f383e634..32e1dcbc2cce2 100644 --- a/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp +++ b/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp @@ -1160,9 +1160,8 @@ bool mlir::sparse_tensor::isBlockSparsity(AffineMap dimToLvl) { } else if (auto dimOp = dyn_cast(result)) { auto pos = dimOp.getPosition(); // Expect dim to be unset. - if (coeffientMap.find(pos) != coeffientMap.end()) + if (!coeffientMap.try_emplace(pos, 0).second) return false; - coeffientMap[pos] = 0; } else { return false; }