CIRCT  19.0.0git
Functions
MemoryToBlockArgumentPass.cpp File Reference
#include "PassDetails.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 <set>
Include dependency graph for MemoryToBlockArgumentPass.cpp:

Go to the source code of this file.

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...
 

Function Documentation

◆ addBlockOperandToTerminator()

static void addBlockOperandToTerminator ( Operation *  terminator,
Block *  successsor,
Value  toAppend 
)
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 65 of file MemoryToBlockArgumentPass.cpp.

◆ getDFClosure()

static void getDFClosure ( SmallVectorImpl< Block * > &  initialSet,
Operation *  op,
std::set< Block * > &  closure 
)
static

Add the blocks in the closure of the dominance fontier relation of all the block in 'initialSet' to 'closure'.

Definition at line 48 of file MemoryToBlockArgumentPass.cpp.

References getDominanceFrontier(), and numElements.

◆ getDominanceFrontier()

static void getDominanceFrontier ( Block *  frontierOf,
Operation *  op,
std::set< Block * > &  df 
)
static

Add the dominance fontier blocks of 'frontierOf' to the 'df' set.

Definition at line 32 of file MemoryToBlockArgumentPass.cpp.

Referenced by getDFClosure().