Redirect selected predecessors of a block through a new intermediate block.
Synopses
Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>
Redirect selected predecessors of a block through a new intermediate block.
BasicBlock*
SplitBlockPredecessors(
BasicBlock* BB,
ArrayRef<BasicBlock*> Preds,
char const* Suffix,
DomTreeUpdater* DTU = nullptr,
LoopInfo* LI = nullptr,
MemorySSAUpdater* MSSAU = nullptr,
bool PreserveLCSSA = false);
Redirect selected predecessors of a block through a new intermediate block.
BasicBlock*
SplitBlockPredecessors(
BasicBlock* BB,
ArrayRef<BasicBlock*> Preds,
char const* Suffix,
DominatorTree* DT,
LoopInfo* LI = nullptr,
MemorySSAUpdater* MSSAU = nullptr,
bool PreserveLCSSA = false);
Return Value
The new intermediate block to which predecessors from Preds now point.
Parameters
Name |
Description |
BB |
Block whose predecessors are redirected. |
Preds |
Predecessors moved to the new intermediate block. |
Suffix |
Name suffix for the newly created block. |
DTU |
Optional dominator‐tree updater for CFG changes. |
LI |
Optional loop info to update. |
MSSAU |
Optional MemorySSA updater for the split. |
PreserveLCSSA |
Whether to preserve LCSSA form. |
DT |
Dominator tree to update. |
Created with MrDocs