Redirect selected predecessors of a block through a new intermediate block.
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);
» more...
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);
» more...
The new intermediate block to which predecessors from Preds now point.
| 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. |