diff options
| author | Matthias Springer <mspringer@nvidia.com> | 2024-05-26 14:59:09 +0200 |
|---|---|---|
| committer | Matthias Springer <mspringer@nvidia.com> | 2024-06-08 12:28:30 +0200 |
| commit | 6c04a065357a15c35c79332c9658036b1073dd5d (patch) | |
| tree | 08fdcef92fbd240aa555f4144096d87c8efb4388 /mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp | |
| parent | 6b3e0002dfe0029487fc2f8f11f5d5fdc07a5e11 (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.cpp | 5 |
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(); } }; |
