2020-03-17 21:16:33 +08:00
|
|
|
//===- passes.hpp - ONNX MLIR Passes Definition ---------------------------===//
|
2019-11-08 00:42:40 +08:00
|
|
|
//
|
|
|
|
// Copyright 2019 The IBM Research Authors.
|
|
|
|
//
|
|
|
|
// =============================================================================
|
|
|
|
//
|
2020-03-17 21:16:33 +08:00
|
|
|
// This file exposes the entry points to create compiler passes for ONNX MLIR.
|
2019-11-08 00:42:40 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
namespace mlir {
|
|
|
|
class Pass;
|
|
|
|
|
2020-03-04 23:53:59 +08:00
|
|
|
/// Pass for rewriting inside frontend dialect.
|
|
|
|
std::unique_ptr<Pass> createDecomposeONNXToONNXPass();
|
|
|
|
|
2019-11-08 00:42:40 +08:00
|
|
|
std::unique_ptr<Pass> createShapeInferencePass();
|
|
|
|
|
2019-11-28 11:56:34 +08:00
|
|
|
/// Add pass for lowering to Krnl IR.
|
|
|
|
std::unique_ptr<Pass> createLowerToKrnlPass();
|
2019-11-08 00:42:40 +08:00
|
|
|
|
2019-11-28 11:56:34 +08:00
|
|
|
/// Pass for lowering frontend dialects to Krnl IR dialect.
|
|
|
|
std::unique_ptr<Pass> createLowerKrnlPass();
|
2019-11-08 00:42:40 +08:00
|
|
|
|
2019-12-14 04:28:56 +08:00
|
|
|
/// Pass for lowering Krnl dialect to LLVM dialect.
|
|
|
|
std::unique_ptr<Pass> createKrnlLowerToLLVMPass();
|
|
|
|
|
2019-11-08 00:42:40 +08:00
|
|
|
} // end namespace mlir
|