[Mlir-commits] [mlir] [mlir][spirv] Support poison index when converting vector.insert/extract (PR #125560)

Andrea Faulds llvmlistbot at llvm.org
Mon Feb 3 11:23:32 PST 2025


================
@@ -154,14 +174,26 @@ struct VectorExtractOpConvert final
     }
 
     if (std::optional<int64_t> id =
-            getConstantIntValue(extractOp.getMixedPosition()[0]))
-      rewriter.replaceOpWithNewOp<spirv::CompositeExtractOp>(
-          extractOp, dstType, adaptor.getVector(),
-          rewriter.getI32ArrayAttr(id.value()));
-    else
+            getConstantIntValue(extractOp.getMixedPosition()[0])) {
+      // TODO: It would be better to apply the ub.poison folding for this case
+      //       unconditionally, and have a specific SPIR-V lowering for it,
+      //       rather than having to handle it here.
----------------
andfau-amd wrote:

Any thoughts on this? (Same comment exists for the other op also).

If nobody objects, I'll make an issue for this, so I can link it in the comments.

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


More information about the Mlir-commits mailing list