CIRCT  20.0.0git
SCFToCalyx.h
Go to the documentation of this file.
1 //===- SCFToCalyx.h - SCF to Calyx pass entry point -------------*- 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 the SCFToCalyx pass
10 // constructor.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef CIRCT_CONVERSION_SCFTOCALYX_SCFTOCALYX_H
15 #define CIRCT_CONVERSION_SCFTOCALYX_SCFTOCALYX_H
16 
17 #include "circt/Support/LLVM.h"
18 #include "mlir/Dialect/SCF/IR/SCF.h"
19 #include <memory>
20 
21 namespace circt {
22 
23 #define GEN_PASS_DECL_SCFTOCALYX
24 #include "circt/Conversion/Passes.h.inc"
25 
26 namespace scfToCalyx {
27 // If this attribute is set as a FuncOp argument or result attribute, it will be
28 // used as the Calyx port name.
29 static constexpr std::string_view sPortNameAttr = "calyx.port_name";
30 
31 } // namespace scfToCalyx
32 
33 /// Create an SCF to Calyx conversion pass.
34 std::unique_ptr<OperationPass<ModuleOp>> createSCFToCalyxPass();
35 
36 } // namespace circt
37 
38 #endif // CIRCT_CONVERSION_SCFTOCALYX_SCFTOCALYX_H
static constexpr std::string_view sPortNameAttr
Definition: SCFToCalyx.h:29
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition: DebugAnalysis.h:21
std::unique_ptr< OperationPass< ModuleOp > > createSCFToCalyxPass()
Create an SCF to Calyx conversion pass.