15#include "mlir/IR/IRMapping.h"
16#include "mlir/IR/PatternMatch.h"
17#include "mlir/Pass/Pass.h"
18#include "mlir/Tools/mlir-translate/MlirTranslateMain.h"
19#include "mlir/Transforms/DialectConversion.h"
26template <
typename MyAIEXOp>
32 AIEXOpRemoval(MLIRContext *context, ModuleOp &m, PatternBenefit benefit = 1)
37 ConversionPatternRewriter &rewriter)
const override {
38 Operation *Op = op.getOperation();
47 ModuleOp m = getOperation();
48 ConversionTarget target(getContext());
49 RewritePatternSet removepatterns(&getContext());
60 if (failed(applyPartialConversion(m, target, std::move(removepatterns))))
66 return std::make_unique<AIEXToStandardPass>();
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > createAIEXToStandardPass()
Include the generated interface declarations.
LogicalResult matchAndRewrite(MyAIEXOp op, OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const override
typename MyAIEXOp::Adaptor OpAdaptor
ModuleOp & AIEXOpRemoval(MLIRContext *context, ModuleOp &m, PatternBenefit benefit=1)
void runOnOperation() override