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"
22#define GEN_PASS_DEF_AIEXTOSTANDARD
23#include "aie/Dialect/AIEX/Transforms/AIEXPasses.h.inc"
31template <
typename MyAIEXOp>
37 AIEXOpRemoval(MLIRContext *context, ModuleOp &m, PatternBenefit benefit = 1)
42 ConversionPatternRewriter &rewriter)
const override {
43 Operation *Op = op.getOperation();
53 ModuleOp m = getOperation();
54 ConversionTarget target(getContext());
55 RewritePatternSet removepatterns(&getContext());
66 if (failed(applyPartialConversion(m, target, std::move(removepatterns))))
72 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