Ensure that all exit blocks of the loop are dedicated exits.
Declared in <llvm/Transforms/Utils/LoopUtils.h>
bool
formDedicatedExitBlocks(
Loop* L,
DominatorTree* DT,
LoopInfo* LI,
MemorySSAUpdater* MSSAU,
bool PreserveLCSSA);
For any loop exit block with non-loop predecessors, we split the loop predecessors to use a dedicated loop exit block. We update the dominator tree and loop info if provided, and will preserve LCSSA if requested.
True if any exit blocks were made dedicated.
| Name | Description |
|---|---|
| L | The loop whose exits should be made dedicated. |
| DT | Dominator tree to update, or nullptr. |
| LI | Loop info to update, or nullptr. |
| MSSAU | MemorySSA updater, or nullptr. |
| PreserveLCSSA | Whether to preserve LCSSA form when splitting. |