CIRCT 20.0.0git
Loading...
Searching...
No Matches
SystemCPasses.h
Go to the documentation of this file.
1//===- SystemCPasses.h - SystemC 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_SYSTEMC_SYSTEMCPASSES_H
14#define CIRCT_DIALECT_SYSTEMC_SYSTEMCPASSES_H
15
16#include "mlir/Pass/Pass.h"
17#include <memory>
18
19// Forward declarations.
20namespace mlir {
21class RewritePatternSet;
22class MLIRContext;
23} // namespace mlir
24
25namespace circt {
26namespace systemc {
27
28/// Populate the rewrite patterns for SystemC's instance-side interop lowerings.
30 mlir::RewritePatternSet &patterns, mlir::MLIRContext *ctx);
31
32std::unique_ptr<mlir::Pass> createSystemCLowerInstanceInteropPass();
33
34/// Generate the code for registering passes.
35#define GEN_PASS_REGISTRATION
36#include "circt/Dialect/SystemC/Passes.h.inc"
37
38} // namespace systemc
39} // namespace circt
40
41#endif // CIRCT_DIALECT_SYSTEMC_SYSTEMCPASSES_H
std::unique_ptr< mlir::Pass > createSystemCLowerInstanceInteropPass()
Create the SystemC Lower Interop pass.
void populateSystemCLowerInstanceInteropPatterns(mlir::RewritePatternSet &patterns, mlir::MLIRContext *ctx)
Populate the rewrite patterns for SystemC's instance-side interop lowerings.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.