aboutsummaryrefslogtreecommitdiff
path: root/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp')
-rw-r--r--mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
index 13035ec..8bdf683 100644
--- a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+++ b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
-
+#include "../PassDetail.h"
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
@@ -24,21 +24,13 @@
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/Passes.h"
-namespace mlir {
-#define GEN_PASS_DEF_CONVERTSCFTOCONTROLFLOWPASS
-#include "mlir/Conversion/Passes.h.inc"
-} // namespace mlir
-
using namespace mlir;
using namespace mlir::scf;
namespace {
-struct ConvertSCFToControlFlowPass
- : public impl::ConvertSCFToControlFlowPassBase<
- ConvertSCFToControlFlowPass> {
- using ConvertSCFToControlFlowPassBase::ConvertSCFToControlFlowPassBase;
-
+struct SCFToControlFlowPass
+ : public SCFToControlFlowBase<SCFToControlFlowPass> {
void runOnOperation() override;
};
@@ -625,7 +617,7 @@ void mlir::populateSCFToControlFlowConversionPatterns(
patterns.add<DoWhileLowering>(patterns.getContext(), /*benefit=*/2);
}
-void ConvertSCFToControlFlowPass::runOnOperation() {
+void SCFToControlFlowPass::runOnOperation() {
RewritePatternSet patterns(&getContext());
populateSCFToControlFlowConversionPatterns(patterns);
@@ -638,3 +630,7 @@ void ConvertSCFToControlFlowPass::runOnOperation() {
applyPartialConversion(getOperation(), target, std::move(patterns))))
signalPassFailure();
}
+
+std::unique_ptr<Pass> mlir::createConvertSCFToCFPass() {
+ return std::make_unique<SCFToControlFlowPass>();
+}