Insert LCSSA PHI nodes required after splitting a loop exit edge.
Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>
void
createPHIsForSplitLoopExit(
ArrayRef<BasicBlock*> Preds,
BasicBlock* SplitBB,
BasicBlock* DestBB);
When a loop exit edge is split, LCSSA form may require new PHIs in the new exit block. This function inserts the new PHIs, as needed. Preds is a list of preds inside the loop, SplitBB is the new loop exit block, and DestBB is the old loop exit, now the successor of SplitBB.
| Name | Description |
|---|---|
| Preds | Predecessors inside the loop of the split exit edge. |
| SplitBB | Newly created loop exit block. |
| DestBB | Original loop exit, now successor of SplitBB. |