summaryrefslogtreecommitdiff
path: root/mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
diff options
context:
space:
mode:
authorMatthias Springer <mspringer@nvidia.com>2024-05-26 14:59:09 +0200
committerMatthias Springer <mspringer@nvidia.com>2024-06-08 12:28:30 +0200
commit6c04a065357a15c35c79332c9658036b1073dd5d (patch)
tree08fdcef92fbd240aa555f4144096d87c8efb4388 /mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
parent6b3e0002dfe0029487fc2f8f11f5d5fdc07a5e11 (diff)
[draft] Dialect Conversion without Rollbackusers/matthias-springer/one_shot_dialect_conv
This commit adds a dialect conversion driver without rollback: `OneShotDialectConversionDriver` The new driver reuses some functionality of the greedy pattern rewrite driver. Just a proof of concept, code is not polished yet. `OneShotConversionPatternRewriter` is a rewriter that materializes all IR changes immediately.
Diffstat (limited to 'mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp')
-rw-r--r--mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp b/mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
index 23e957288eb9..89c5a980d7de 100644
--- a/mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+++ b/mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
@@ -17,6 +17,7 @@
#include "mlir/Dialect/Math/IR/Math.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Pass/Pass.h"
+#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
namespace mlir {
#define GEN_PASS_DEF_CONVERTMATHTOLLVMPASS
@@ -291,8 +292,8 @@ struct ConvertMathToLLVMPass
LLVMTypeConverter converter(&getContext());
populateMathToLLVMConversionPatterns(converter, patterns, approximateLog1p);
LLVMConversionTarget target(getContext());
- if (failed(applyPartialConversion(getOperation(), target,
- std::move(patterns))))
+ if (failed(applyPartialOneShotConversion(getOperation(), target,
+ std::move(patterns))))
signalPassFailure();
}
};