CIRCT
20.0.0git
|
#include "circt/Dialect/LLHD/IR/LLHDOps.h"
#include "circt/Dialect/LLHD/Transforms/Passes.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/IR/Dominance.h"
#include "mlir/Pass/Pass.h"
#include <set>
#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_MEMORYTOBLOCKARGUMENT |
Functions | |
static void | getDominanceFrontier (Block *frontierOf, Operation *op, std::set< Block * > &df) |
Add the dominance fontier blocks of 'frontierOf' to the 'df' set. More... | |
static void | getDFClosure (SmallVectorImpl< Block * > &initialSet, Operation *op, std::set< Block * > &closure) |
Add the blocks in the closure of the dominance fontier relation of all the block in 'initialSet' to 'closure'. More... | |
static void | addBlockOperandToTerminator (Operation *terminator, Block *successsor, Value toAppend) |
Add a block argument to a given terminator. More... | |
#define GEN_PASS_DEF_MEMORYTOBLOCKARGUMENT |
Definition at line 23 of file MemoryToBlockArgumentPass.cpp.
|
static |
Add a block argument to a given terminator.
Only 'std.br', 'std.cond_br' and 'llhd.wait' are supported. The successor block has to be provided for the 'std.cond_br' terminator which has two possible successors.
Definition at line 74 of file MemoryToBlockArgumentPass.cpp.
|
static |
Add the blocks in the closure of the dominance fontier relation of all the block in 'initialSet' to 'closure'.
Definition at line 57 of file MemoryToBlockArgumentPass.cpp.
References getDominanceFrontier(), and numElements.
|
static |
Add the dominance fontier blocks of 'frontierOf' to the 'df' set.
Definition at line 41 of file MemoryToBlockArgumentPass.cpp.
Referenced by getDFClosure().