CIRCT  19.0.0git
IbisPasses.h
Go to the documentation of this file.
1 //===- Passes.h - Ibis 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 #ifndef CIRCT_DIALECT_IBIS_IBISPASSES_H
10 #define CIRCT_DIALECT_IBIS_IBISPASSES_H
11 
15 #include "mlir/Dialect/Arith/IR/Arith.h"
16 #include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
17 #include "mlir/Pass/Pass.h"
18 #include "mlir/Pass/PassRegistry.h"
19 #include <memory>
20 #include <optional>
21 
22 namespace circt {
23 namespace ibis {
24 
25 #define GEN_PASS_DECL_IBISTUNNELING
26 #include "circt/Dialect/Ibis/IbisPasses.h.inc"
27 
28 std::unique_ptr<mlir::Pass> createCallPrepPass();
29 std::unique_ptr<mlir::Pass> createContainerizePass();
30 std::unique_ptr<mlir::Pass>
31 createTunnelingPass(const IbisTunnelingOptions & = {});
32 std::unique_ptr<mlir::Pass> createPortrefLoweringPass();
33 std::unique_ptr<mlir::Pass> createCleanSelfdriversPass();
34 std::unique_ptr<mlir::Pass> createContainersToHWPass();
35 std::unique_ptr<mlir::Pass> createArgifyBlocksPass();
36 std::unique_ptr<mlir::Pass> createReblockPass();
37 std::unique_ptr<mlir::Pass> createInlineSBlocksPass();
38 std::unique_ptr<mlir::Pass> createConvertCFToHandshakePass();
39 std::unique_ptr<mlir::Pass> createPrepareSchedulingPass();
40 std::unique_ptr<mlir::Pass> createConvertHandshakeToDCPass();
41 std::unique_ptr<mlir::Pass> createConvertMethodsToContainersPass();
42 std::unique_ptr<mlir::Pass> createAddOperatorLibraryPass();
43 
44 /// Generate the code for registering passes.
45 #define GEN_PASS_REGISTRATION
46 #include "circt/Dialect/Ibis/IbisPasses.h.inc"
47 
48 } // namespace ibis
49 } // namespace circt
50 
51 #endif // CIRCT_DIALECT_IBIS_IBISPASSES_H
std::unique_ptr< mlir::Pass > createReblockPass()
std::unique_ptr< mlir::Pass > createInlineSBlocksPass()
std::unique_ptr< mlir::Pass > createTunnelingPass(const IbisTunnelingOptions &={})
std::unique_ptr< mlir::Pass > createConvertCFToHandshakePass()
std::unique_ptr< mlir::Pass > createCallPrepPass()
std::unique_ptr< mlir::Pass > createConvertMethodsToContainersPass()
std::unique_ptr< mlir::Pass > createPrepareSchedulingPass()
std::unique_ptr< mlir::Pass > createCleanSelfdriversPass()
std::unique_ptr< mlir::Pass > createConvertHandshakeToDCPass()
std::unique_ptr< mlir::Pass > createContainerizePass()
std::unique_ptr< mlir::Pass > createArgifyBlocksPass()
std::unique_ptr< mlir::Pass > createContainersToHWPass()
std::unique_ptr< mlir::Pass > createPortrefLoweringPass()
std::unique_ptr< mlir::Pass > createAddOperatorLibraryPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition: DebugAnalysis.h:21