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 
14 #include "mlir/Dialect/Arith/IR/Arith.h"
15 #include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
16 #include "mlir/Pass/Pass.h"
17 #include "mlir/Pass/PassRegistry.h"
18 #include <memory>
19 #include <optional>
20 
21 namespace circt {
22 namespace ibis {
23 
24 #define GEN_PASS_DECL_IBISTUNNELING
25 #include "circt/Dialect/Ibis/IbisPasses.h.inc"
26 
27 std::unique_ptr<mlir::Pass> createCallPrepPass();
28 std::unique_ptr<mlir::Pass> createContainerizePass();
29 std::unique_ptr<mlir::Pass>
30 createTunnelingPass(const IbisTunnelingOptions & = {});
31 std::unique_ptr<mlir::Pass> createPortrefLoweringPass();
32 std::unique_ptr<mlir::Pass> createCleanSelfdriversPass();
33 std::unique_ptr<mlir::Pass> createContainersToHWPass();
34 std::unique_ptr<mlir::Pass> createArgifyBlocksPass();
35 std::unique_ptr<mlir::Pass> createReblockPass();
36 std::unique_ptr<mlir::Pass> createInlineSBlocksPass();
37 std::unique_ptr<mlir::Pass> createConvertCFToHandshakePass();
38 std::unique_ptr<mlir::Pass> createPrepareSchedulingPass();
39 std::unique_ptr<mlir::Pass> createConvertHandshakeToDCPass();
40 std::unique_ptr<mlir::Pass> createConvertMethodsToContainersPass();
41 std::unique_ptr<mlir::Pass> createAddOperatorLibraryPass();
42 
43 /// Generate the code for registering passes.
44 #define GEN_PASS_REGISTRATION
45 #include "circt/Dialect/Ibis/IbisPasses.h.inc"
46 
47 } // namespace ibis
48 } // namespace circt
49 
50 #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()
This file defines an intermediate representation for circuits acting as an abstraction for constraint...
Definition: DebugAnalysis.h:21