CIRCT 20.0.0git
Loading...
Searching...
No Matches
KanagawaPasses.h
Go to the documentation of this file.
1//===- Passes.h - Kanagawa 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_KANAGAWA_KANAGAWAPASSES_H
10#define CIRCT_DIALECT_KANAGAWA_KANAGAWAPASSES_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
22namespace circt {
23namespace kanagawa {
24
25#define GEN_PASS_DECL_KANAGAWATUNNELING
26#include "circt/Dialect/Kanagawa/KanagawaPasses.h.inc"
27
28std::unique_ptr<mlir::Pass> createCallPrepPass();
29std::unique_ptr<mlir::Pass> createContainerizePass();
30std::unique_ptr<mlir::Pass>
31createTunnelingPass(const KanagawaTunnelingOptions & = {});
32std::unique_ptr<mlir::Pass> createPortrefLoweringPass();
33std::unique_ptr<mlir::Pass> createCleanSelfdriversPass();
34std::unique_ptr<mlir::Pass> createContainersToHWPass();
35std::unique_ptr<mlir::Pass> createArgifyBlocksPass();
36std::unique_ptr<mlir::Pass> createReblockPass();
37std::unique_ptr<mlir::Pass> createInlineSBlocksPass();
38std::unique_ptr<mlir::Pass> createConvertCFToHandshakePass();
39std::unique_ptr<mlir::Pass> createPrepareSchedulingPass();
40std::unique_ptr<mlir::Pass> createConvertHandshakeToDCPass();
41std::unique_ptr<mlir::Pass> createConvertMethodsToContainersPass();
42std::unique_ptr<mlir::Pass> createAddOperatorLibraryPass();
43
44/// Generate the code for registering passes.
45#define GEN_PASS_REGISTRATION
46#include "circt/Dialect/Kanagawa/KanagawaPasses.h.inc"
47
48} // namespace kanagawa
49} // namespace circt
50
51#endif // CIRCT_DIALECT_KANAGAWA_KANAGAWAPASSES_H
std::unique_ptr< mlir::Pass > createContainersToHWPass()
std::unique_ptr< mlir::Pass > createConvertHandshakeToDCPass()
std::unique_ptr< mlir::Pass > createConvertMethodsToContainersPass()
std::unique_ptr< mlir::Pass > createReblockPass()
std::unique_ptr< mlir::Pass > createInlineSBlocksPass()
std::unique_ptr< mlir::Pass > createAddOperatorLibraryPass()
std::unique_ptr< mlir::Pass > createArgifyBlocksPass()
std::unique_ptr< mlir::Pass > createContainerizePass()
std::unique_ptr< mlir::Pass > createTunnelingPass(const KanagawaTunnelingOptions &={})
std::unique_ptr< mlir::Pass > createConvertCFToHandshakePass()
std::unique_ptr< mlir::Pass > createCallPrepPass()
std::unique_ptr< mlir::Pass > createPrepareSchedulingPass()
std::unique_ptr< mlir::Pass > createPortrefLoweringPass()
std::unique_ptr< mlir::Pass > createCleanSelfdriversPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.