aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Manley <rscottmanley@gmail.com>2025-01-30 07:27:41 -0600
committerGitHub <noreply@github.com>2025-01-30 14:27:41 +0100
commit29371d3b55c9b44f413e05de4844452c1e0e5be0 (patch)
tree037fba13bbf0a527d28e73b48a4e93674919797b
parent2e581dc54b8983122528ade578824d70ec42b503 (diff)
downloadllvm-29371d3b55c9b44f413e05de4844452c1e0e5be0.zip
llvm-29371d3b55c9b44f413e05de4844452c1e0e5be0.tar.gz
llvm-29371d3b55c9b44f413e05de4844452c1e0e5be0.tar.bz2
[AffineParallelize] expose options when creating pass (#124959)
Add a createAffineParallelizePass() that takes AffineParallelizeOptions so it can be customized in a pass pipeline.
-rw-r--r--mlir/include/mlir/Dialect/Affine/Passes.h4
-rw-r--r--mlir/include/mlir/Dialect/Affine/Passes.td1
-rw-r--r--mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp7
3 files changed, 2 insertions, 10 deletions
diff --git a/mlir/include/mlir/Dialect/Affine/Passes.h b/mlir/include/mlir/Dialect/Affine/Passes.h
index e152101..bc29d04 100644
--- a/mlir/include/mlir/Dialect/Affine/Passes.h
+++ b/mlir/include/mlir/Dialect/Affine/Passes.h
@@ -44,10 +44,6 @@ createSimplifyAffineStructuresPass();
std::unique_ptr<OperationPass<func::FuncOp>>
createAffineLoopInvariantCodeMotionPass();
-/// Creates a pass to convert all parallel affine.for's into 1-d affine.parallel
-/// ops.
-std::unique_ptr<OperationPass<func::FuncOp>> createAffineParallelizePass();
-
/// Apply normalization transformations to affine loop-like ops. If
/// `promoteSingleIter` is true, single iteration loops are promoted (i.e., the
/// loop is replaced by its loop body).
diff --git a/mlir/include/mlir/Dialect/Affine/Passes.td b/mlir/include/mlir/Dialect/Affine/Passes.td
index 77073aa..d7c7897 100644
--- a/mlir/include/mlir/Dialect/Affine/Passes.td
+++ b/mlir/include/mlir/Dialect/Affine/Passes.td
@@ -370,7 +370,6 @@ def AffineVectorize : Pass<"affine-super-vectorize", "func::FuncOp"> {
def AffineParallelize : Pass<"affine-parallelize", "func::FuncOp"> {
let summary = "Convert affine.for ops into 1-D affine.parallel";
- let constructor = "mlir::affine::createAffineParallelizePass()";
let options = [
Option<"maxNested", "max-nested", "unsigned", /*default=*/"-1u",
"Maximum number of nested parallel loops to produce. "
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
index 64f2bc6..fa0676b 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
@@ -42,6 +42,8 @@ namespace {
/// Convert all parallel affine.for op into 1-D affine.parallel op.
struct AffineParallelize
: public affine::impl::AffineParallelizeBase<AffineParallelize> {
+ using AffineParallelizeBase<AffineParallelize>::AffineParallelizeBase;
+
void runOnOperation() override;
};
@@ -90,8 +92,3 @@ void AffineParallelize::runOnOperation() {
}
}
}
-
-std::unique_ptr<OperationPass<func::FuncOp>>
-mlir::affine::createAffineParallelizePass() {
- return std::make_unique<AffineParallelize>();
-}