@@ -2139,16 +2139,9 @@ FailureOr<Value> ContractionOpToMatmulOpLowering::matchAndRewriteMaskableOp(
21392139 return res;
21402140}
21412141
2142- // / Progressive lowering of TransposeOp.
2143- // / One:
2144- // / %x = vector.transpose %y, [1, 0]
2145- // / is replaced by:
2146- // / %z = arith.constant dense<0.000000e+00>
2147- // / %0 = vector.extract %y[0, 0]
2148- // / %1 = vector.insert %0, %z [0, 0]
2149- // / ..
2150- // / %x = vector.insert .., .. [.., ..]
2151- class TransposeOpLowering : public OpRewritePattern <vector::TransposeOp> {
2142+ // / Lowers vector.transpose to llvm.intr.matrix.transpose
2143+ class TransposeOpToMatrixTransposeOpLowering
2144+ : public OpRewritePattern<vector::TransposeOp> {
21522145public:
21532146 using OpRewritePattern<TransposeOp>::OpRewritePattern;
21542147
@@ -2191,24 +2184,15 @@ void mlir::vector::populateVectorRankReducingFMAPattern(
21912184 patterns.add <VectorFMAOpNDRewritePattern>(patterns.getContext ());
21922185}
21932186
2194- // / Pattern to lower `vector.contract` to `llvm.intr.matrix.multiply`.
2195- // /
2196- // / Given the high benefit, this will be prioriotised over other
2197- // / contract-lowering patterns. As such, the convert-vector-to-llvm pass will
2198- // / only run this registration conditionally.
21992187void mlir::vector::populateVectorContractToMatrixMultiply (
2200- RewritePatternSet &patterns) {
2201- patterns.add <ContractionOpToMatmulOpLowering>(patterns.getContext (), 100 );
2188+ RewritePatternSet &patterns, PatternBenefit benefit ) {
2189+ patterns.add <ContractionOpToMatmulOpLowering>(patterns.getContext (), benefit );
22022190}
22032191
2204- // / Pattern to lower `vector.transpose` to `llvm.intr.matrix.flat_transpose`.
2205- // /
2206- // / Given the high benefit, this will be prioriotised over other
2207- // / transpose-lowering patterns. As such, the convert-vector-to-llvm pass will
2208- // / only run this registration conditionally.
22092192void mlir::vector::populateVectorTransposeToFlatTranspose (
2210- RewritePatternSet &patterns) {
2211- patterns.add <TransposeOpLowering>(patterns.getContext (), 100 );
2193+ RewritePatternSet &patterns, PatternBenefit benefit) {
2194+ patterns.add <TransposeOpToMatrixTransposeOpLowering>(patterns.getContext (),
2195+ benefit);
22122196}
22132197
22142198// / Populate the given list with patterns that convert from Vector to LLVM.
0 commit comments