CIRCT 20.0.0git
Loading...
Searching...
No Matches
ESIPasses.h
Go to the documentation of this file.
1//===- Passes.h - ESI 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_ESI_ESIPASSES_H
14#define CIRCT_DIALECT_ESI_ESIPASSES_H
15
16#include "circt/Support/LLVM.h"
17#include "mlir/Pass/Pass.h"
18#include "mlir/Pass/PassRegistry.h"
19#include <memory>
20#include <optional>
21
22namespace circt {
23namespace esi {
24
25/// This should eventually become a set of functions to define the various
26/// platform-specific lowerings.
27struct Platform {
28 static constexpr char cosim[] = "cosim";
29 static constexpr char fpga[] = "fpga";
30};
31
32#define GEN_PASS_DECL
33#include "circt/Dialect/ESI/ESIPasses.h.inc"
34
35std::unique_ptr<OperationPass<>> createESIVerifyConnectionsPass();
36std::unique_ptr<OperationPass<ModuleOp>> createESIPhysicalLoweringPass();
37std::unique_ptr<OperationPass<ModuleOp>> createESIBundleLoweringPass();
38std::unique_ptr<OperationPass<ModuleOp>> createESIPortLoweringPass();
39std::unique_ptr<OperationPass<ModuleOp>> createESITypeLoweringPass();
40std::unique_ptr<OperationPass<ModuleOp>> createESItoHWPass();
41std::unique_ptr<OperationPass<ModuleOp>> createESIConnectServicesPass();
42std::unique_ptr<OperationPass<ModuleOp>> createESICleanMetadataPass();
43std::unique_ptr<OperationPass<ModuleOp>> createESIBuildManifestPass();
44std::unique_ptr<OperationPass<ModuleOp>> createESIAppIDHierPass();
45
46/// Generate the code for registering passes.
47#define GEN_PASS_REGISTRATION
48#include "circt/Dialect/ESI/ESIPasses.h.inc"
49
50} // namespace esi
51} // namespace circt
52
53#endif // CIRCT_DIALECT_ESI_ESIPASSES_H
std::unique_ptr< OperationPass< ModuleOp > > createESItoHWPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIPhysicalLoweringPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIAppIDHierPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIConnectServicesPass()
std::unique_ptr< OperationPass< ModuleOp > > createESICleanMetadataPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIPortLoweringPass()
std::unique_ptr< OperationPass< ModuleOp > > createESITypeLoweringPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIBundleLoweringPass()
std::unique_ptr< OperationPass<> > createESIVerifyConnectionsPass()
std::unique_ptr< OperationPass< ModuleOp > > createESIBuildManifestPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition esi.py:1
This should eventually become a set of functions to define the various platform-specific lowerings.
Definition ESIPasses.h:27
static constexpr char fpga[]
Definition ESIPasses.h:29
static constexpr char cosim[]
Definition ESIPasses.h:28