CIRCT  20.0.0git
Namespaces | Macros | Functions
DCMaterialization.cpp File Reference
#include "circt/Dialect/DC/DCOps.h"
#include "circt/Dialect/DC/DCPasses.h"
#include "mlir/Pass/Pass.h"
#include "circt/Dialect/DC/DCPasses.h.inc"
Include dependency graph for DCMaterialization.cpp:

Go to the source code of this file.

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
 circt::dc
 

Macros

#define GEN_PASS_DEF_DCMATERIALIZEFORKSSINKS
 
#define GEN_PASS_DEF_DCDEMATERIALIZEFORKSSINKS
 

Functions

static bool isDCTyped (Value v)
 
static void replaceFirstUse (Operation *op, Value oldVal, Value newVal)
 
static void insertSink (Value v, OpBuilder &rewriter)
 
static void insertFork (Value result, OpBuilder &rewriter)
 
static LogicalResult addForkOps (Block &block, OpBuilder &rewriter)
 
static LogicalResult addSinkOps (Block &block, OpBuilder &rewriter)
 

Macro Definition Documentation

◆ GEN_PASS_DEF_DCDEMATERIALIZEFORKSSINKS

#define GEN_PASS_DEF_DCDEMATERIALIZEFORKSSINKS

Definition at line 20 of file DCMaterialization.cpp.

◆ GEN_PASS_DEF_DCMATERIALIZEFORKSSINKS

#define GEN_PASS_DEF_DCMATERIALIZEFORKSSINKS

Definition at line 19 of file DCMaterialization.cpp.

Function Documentation

◆ addForkOps()

static LogicalResult addForkOps ( Block &  block,
OpBuilder &  rewriter 
)
static

Definition at line 87 of file DCMaterialization.cpp.

References insertFork(), and isDCTyped().

◆ addSinkOps()

static LogicalResult addSinkOps ( Block &  block,
OpBuilder &  rewriter 
)
static

Definition at line 116 of file DCMaterialization.cpp.

References insertSink(), and isDCTyped().

◆ insertFork()

static void insertFork ( Value  result,
OpBuilder &  rewriter 
)
static

Definition at line 53 of file DCMaterialization.cpp.

References replaceFirstUse().

Referenced by addForkOps(), and addLazyForks().

◆ insertSink()

static void insertSink ( Value  v,
OpBuilder &  rewriter 
)
static

Definition at line 42 of file DCMaterialization.cpp.

Referenced by addSinkOps().

◆ isDCTyped()

static bool isDCTyped ( Value  v)
static

Definition at line 29 of file DCMaterialization.cpp.

Referenced by addForkOps(), and addSinkOps().

◆ replaceFirstUse()

static void replaceFirstUse ( Operation *  op,
Value  oldVal,
Value  newVal 
)
static

Definition at line 33 of file DCMaterialization.cpp.

Referenced by insertFork().