2019-11-08 00:42:40 +08:00
|
|
|
//===- passes.hpp - ONNF Passes Definition --------------------------------===//
|
|
|
|
//
|
|
|
|
// Copyright 2019 The IBM Research Authors.
|
|
|
|
//
|
|
|
|
// =============================================================================
|
|
|
|
//
|
|
|
|
// This file exposes the entry points to create compiler passes for ONNF.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
namespace mlir {
|
|
|
|
class Pass;
|
|
|
|
|
|
|
|
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
|