CIRCT  20.0.0git
Passes.h
Go to the documentation of this file.
1 //===- Passes.h - LLHD pass entry points ------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This header file defines prototypes that expose pass constructors.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef CIRCT_DIALECT_LLHD_TRANSFORMS_PASSES_H
14 #define CIRCT_DIALECT_LLHD_TRANSFORMS_PASSES_H
15 
16 #include "circt/Support/LLVM.h"
17 #include "mlir/Pass/Pass.h"
18 #include <memory>
19 
20 namespace circt {
21 namespace hw {
22 class HWModuleOp;
23 } // namespace hw
24 
25 namespace llhd {
26 class ProcessOp;
27 
28 std::unique_ptr<OperationPass<ModuleOp>> createProcessLoweringPass();
29 
30 std::unique_ptr<OperationPass<ModuleOp>> createFunctionEliminationPass();
31 
32 std::unique_ptr<OperationPass<hw::HWModuleOp>>
34 
35 std::unique_ptr<OperationPass<hw::HWModuleOp>> createEarlyCodeMotionPass();
36 
37 std::unique_ptr<OperationPass<hw::HWModuleOp>> createTemporalCodeMotionPass();
38 
39 #define GEN_PASS_DECL_SIG2REG
40 #define GEN_PASS_DECL_DESEQUENTIALIZATION
41 #define GEN_PASS_REGISTRATION
42 #include "circt/Dialect/LLHD/Transforms/Passes.h.inc"
43 
44 } // namespace llhd
45 } // namespace circt
46 
47 #endif // CIRCT_DIALECT_LLHD_TRANSFORMS_PASSES_H
std::unique_ptr< OperationPass< hw::HWModuleOp > > createTemporalCodeMotionPass()
std::unique_ptr< OperationPass< hw::HWModuleOp > > createEarlyCodeMotionPass()
std::unique_ptr< OperationPass< hw::HWModuleOp > > createMemoryToBlockArgumentPass()
std::unique_ptr< OperationPass< ModuleOp > > createFunctionEliminationPass()
std::unique_ptr< OperationPass< ModuleOp > > createProcessLoweringPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition: DebugAnalysis.h:21
Definition: hw.py:1