CIRCT
20.0.0git
|
#include "TemporalRegions.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/LLHD/IR/LLHDOps.h"
#include "circt/Dialect/LLHD/Transforms/Passes.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/IR/Dominance.h"
#include "mlir/IR/Region.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include <queue>
#include "circt/Dialect/LLHD/Transforms/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
circt | |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
circt::llhd | |
Macros | |
#define | GEN_PASS_DEF_TEMPORALCODEMOTION |
Functions | |
static Value | getBranchDecisionsFromDominatorToTarget (OpBuilder &builder, Block *driveBlock, Block *dominator, DenseMap< Block *, Value > &mem) |
Explore all paths from the 'driveBlock' to the 'dominator' block and construct a boolean expression at the current insertion point of 'builder' to represent all those paths. More... | |
static void | moveDriveOpBefore (llhd::DrvOp drvOp, Block *dominator, Operation *moveBefore, DenseMap< Block *, Value > &mem) |
More a 'llhd.drv' operation before the 'moveBefore' operation by adjusting the 'enable' operand. More... | |
#define GEN_PASS_DEF_TEMPORALCODEMOTION |
Definition at line 23 of file TemporalCodeMotionPass.cpp.
|
static |
Explore all paths from the 'driveBlock' to the 'dominator' block and construct a boolean expression at the current insertion point of 'builder' to represent all those paths.
Definition at line 35 of file TemporalCodeMotionPass.cpp.
References hw.ConstantOp::create().
Referenced by moveDriveOpBefore().
|
static |
More a 'llhd.drv' operation before the 'moveBefore' operation by adjusting the 'enable' operand.
Definition at line 91 of file TemporalCodeMotionPass.cpp.
References getBranchDecisionsFromDominatorToTarget().