[Mlir-commits] [mlir] c24c23d - [NFC][mlir][vector] Handle potential static cast assertion. (#152957)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Aug 18 20:57:24 PDT 2025


Author: Md Asghar Ahmad Shahid
Date: 2025-08-19T09:27:20+05:30
New Revision: c24c23d9ab66e9a1bf6bb3468cdfe39f22872362

URL: https://github.com/llvm/llvm-project/commit/c24c23d9ab66e9a1bf6bb3468cdfe39f22872362
DIFF: https://github.com/llvm/llvm-project/commit/c24c23d9ab66e9a1bf6bb3468cdfe39f22872362.diff

LOG: [NFC][mlir][vector] Handle potential static cast assertion. (#152957)

In FoldArithToVectorOuterProduct pattern, static cast to vector type
causes assertion when a scalar type was encountered. It seems the author
meant to have a dyn_cast instead.

This NFC patch handles it by using dyn_cast.

Added: 
    

Modified: 
    mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
index 2269a40ec8ef1..023c4da7dffdf 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
@@ -2274,7 +2274,7 @@ struct FoldArithToVectorOuterProduct : public OpRewritePattern<MulOpType> {
 
   LogicalResult matchAndRewrite(MulOpType mulOp,
                                 PatternRewriter &rewriter) const override {
-    auto resType = llvm::cast<VectorType>(mulOp.getResult().getType());
+    auto resType = llvm::dyn_cast<VectorType>(mulOp.getResult().getType());
     if (!resType)
       return failure();
     if (resType.getRank() != 2)


        


More information about the Mlir-commits mailing list