[Mlir-commits] [mlir] [mlir][Vector][NFC] Add `vector-transform-options` flag to ConvertVectorToLLVMPass (PR #123491)
Diego Caballero
llvmlistbot at llvm.org
Sat Jan 18 16:19:32 PST 2025
https://github.com/dcaballe created https://github.com/llvm/llvm-project/pull/123491
This flag enables the configuration of some transformation such as the lowering of contractions and transposes. The default configuration preserves the existing behavior.
>From c24bdc422d177d17a847519710191dad2c22ee79 Mon Sep 17 00:00:00 2001
From: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: Sat, 18 Jan 2025 16:17:12 -0800
Subject: [PATCH] [mlir][Vector][NFC] Add `vector-transform-options` flag to
ConvertVectorToLLVMPass
This flag enables the configuration of some transformation
such as the lowering of contractions and transposes. The
default configuration preserves the existing behavior.
---
mlir/include/mlir/Conversion/Passes.td | 6 +++++-
.../mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h | 1 +
.../lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp | 5 ++---
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/mlir/include/mlir/Conversion/Passes.td b/mlir/include/mlir/Conversion/Passes.td
index 0f42ffb3a80266..7600d723c30936 100644
--- a/mlir/include/mlir/Conversion/Passes.td
+++ b/mlir/include/mlir/Conversion/Passes.td
@@ -1440,7 +1440,11 @@ def ConvertVectorToLLVMPass : Pass<"convert-vector-to-llvm"> {
Option<"x86Vector", "enable-x86vector",
"bool", /*default=*/"false",
"Enables the use of X86Vector dialect while lowering the vector "
- "dialect.">
+ "dialect.">,
+ Option<"vectorTransformsOptions", "vector-transform-options",
+ "vector::VectorTransformsOptions",
+ /*default=*/"vector::VectorTransformsOptions()",
+ "Options to lower some operations like contractions and transposes.">,
];
}
diff --git a/mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h b/mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h
index 4661d31b6364d5..410b881db79590 100644
--- a/mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h
+++ b/mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h
@@ -9,6 +9,7 @@
#define MLIR_CONVERSION_VECTORTOLLVM_CONVERTVECTORTOLLVMPASS_H_
#include "mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h"
+#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
namespace mlir {
class Pass;
diff --git a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
index 2c4c5ada9815d6..e3a81bd20212d8 100644
--- a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
+++ b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
@@ -69,12 +69,11 @@ void ConvertVectorToLLVMPass::runOnOperation() {
populateVectorToVectorCanonicalizationPatterns(patterns);
populateVectorBitCastLoweringPatterns(patterns);
populateVectorBroadcastLoweringPatterns(patterns);
- populateVectorContractLoweringPatterns(patterns, VectorTransformsOptions());
+ populateVectorContractLoweringPatterns(patterns, vectorTransformsOptions);
populateVectorMaskOpLoweringPatterns(patterns);
populateVectorShapeCastLoweringPatterns(patterns);
populateVectorInterleaveLoweringPatterns(patterns);
- populateVectorTransposeLoweringPatterns(patterns,
- VectorTransformsOptions());
+ populateVectorTransposeLoweringPatterns(patterns, vectorTransformsOptions);
// Vector transfer ops with rank > 1 should be lowered with VectorToSCF.
populateVectorTransferLoweringPatterns(patterns, /*maxTransferRank=*/1);
populateVectorMaskMaterializationPatterns(patterns,
More information about the Mlir-commits
mailing list