[Mlir-commits] [mlir] [mlir][vector] transpose(broadcast) -> broadcast canonicalization (PR #135096)
James Newling
llvmlistbot at llvm.org
Mon Apr 14 08:12:27 PDT 2025
================
@@ -6075,28 +6075,6 @@ class TransposeFolder final : public OpRewritePattern<vector::TransposeOp> {
}
};
-// Folds transpose(broadcast(<scalar>)) into broadcast(<scalar>).
-struct FoldTransposedScalarBroadcast final
- : public OpRewritePattern<vector::TransposeOp> {
- using OpRewritePattern::OpRewritePattern;
-
- LogicalResult matchAndRewrite(vector::TransposeOp transposeOp,
- PatternRewriter &rewriter) const override {
- auto bcastOp = transposeOp.getVector().getDefiningOp<vector::BroadcastOp>();
- if (!bcastOp)
- return failure();
-
- auto srcVectorType = llvm::dyn_cast<VectorType>(bcastOp.getSourceType());
- if (!srcVectorType || srcVectorType.getNumElements() == 1) {
- rewriter.replaceOpWithNewOp<vector::BroadcastOp>(
- transposeOp, transposeOp.getResultVectorType(), bcastOp.getSource());
- return success();
- }
-
- return failure();
- }
-};
----------------
newling wrote:
Done
https://github.com/llvm/llvm-project/pull/135096
More information about the Mlir-commits
mailing list