#include "circt/Dialect/Handshake/HandshakeOps.h"
#include "circt/Dialect/Handshake/HandshakePasses.h"
#include "circt/Dialect/Handshake/HandshakeUtils.h"
#include "circt/Support/LLVM.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Support/IndentedOstream.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/Handshake/HandshakePasses.h.inc"
Go to the source code of this file.
|
using | BlockValues = DenseMap< Block *, std::vector< Value > > |
|
|
static void | insertSink (Value val, OpBuilder &rewriter) |
|
static LogicalResult | addForkOps (Region &r, OpBuilder &rewriter) |
| Insert Fork Operation for every operation and function argument with more than one successor. More...
|
|
static LogicalResult | addSinkOps (Region &r, OpBuilder &rewriter) |
| Adds sink operations to any unused value in r. More...
|
|
◆ GEN_PASS_DEF_HANDSHAKEDEMATERIALIZEFORKSSINKS
#define GEN_PASS_DEF_HANDSHAKEDEMATERIALIZEFORKSSINKS |
◆ GEN_PASS_DEF_HANDSHAKEMATERIALIZEFORKSSINKS
#define GEN_PASS_DEF_HANDSHAKEMATERIALIZEFORKSSINKS |
◆ BlockValues
using BlockValues = DenseMap<Block *, std::vector<Value> > |
◆ addForkOps()
static LogicalResult addForkOps |
( |
Region & |
r, |
|
|
OpBuilder & |
rewriter |
|
) |
| |
|
static |
◆ addSinkOps()
static LogicalResult addSinkOps |
( |
Region & |
r, |
|
|
OpBuilder & |
rewriter |
|
) |
| |
|
static |
◆ insertSink()
static void insertSink |
( |
Value |
val, |
|
|
OpBuilder & |
rewriter |
|
) |
| |
|
static |