//===- passes.hpp - ONNX MLIR Passes Definition ---------------------------===// // // Copyright 2019 The IBM Research Authors. // // ============================================================================= // // This file exposes the entry points to create compiler passes for ONNX MLIR. // //===----------------------------------------------------------------------===// #pragma once #include namespace mlir { class Pass; /// Pass for rewriting inside frontend dialect. std::unique_ptr createDecomposeONNXToONNXPass(); std::unique_ptr createShapeInferencePass(); /// Pass for promoting constant operands to attributes. std::unique_ptr createAttributePromotionPass(); /// Add pass for lowering to Krnl IR. std::unique_ptr createLowerToKrnlPass(); /// Pass for lowering frontend dialects to Krnl IR dialect. std::unique_ptr createLowerKrnlPass(); /// Pass for lowering Krnl dialect to LLVM dialect. std::unique_ptr createKrnlLowerToLLVMPass(); } // end namespace mlir