[Mlir-commits] [mlir] [mlir][vector] Fix crash in vector.from_elements folding with poison values (PR #158528)
Matthias Springer
llvmlistbot at llvm.org
Thu Sep 18 00:23:30 PDT 2025
================
@@ -2463,7 +2461,10 @@ static OpFoldResult foldFromElementsToElements(FromElementsOp fromElementsOp) {
///
static OpFoldResult foldFromElementsToConstant(FromElementsOp fromElementsOp,
ArrayRef<Attribute> elements) {
- if (llvm::any_of(elements, [](Attribute attr) { return !attr; }))
+ // Check for null or poison attributes before any processing.
+ if (llvm::any_of(elements, [](Attribute attr) {
+ return !attr || isa<ub::PoisonAttrInterface>(attr);
----------------
matthias-springer wrote:
Long term, we should avoid hard-coding supported/unsupported types here. E.g., instead `DenseElementsAttr::get` could return an "empty" attribute instead of failing an assertion. But let's do that in a separate PR.
https://github.com/llvm/llvm-project/pull/158528
More information about the Mlir-commits
mailing list