Ensure that all exit blocks of the loop are dedicated exits.
Synopsis
Declared in <llvm/Transforms/Utils/LoopUtils.h>
bool
formDedicatedExitBlocks(
Loop* L,
DominatorTree* DT,
LoopInfo* LI,
MemorySSAUpdater* MSSAU,
bool PreserveLCSSA);
Description
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.
Return Value
True if any exit blocks were made dedicated.
Parameters
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. |
Created with MrDocs