Remove the backedge of a top-level single-latch loop.
Declared in <llvm/Transforms/Utils/LoopUtils.h>
void
breakLoopBackedge(
Loop* L,
DominatorTree& DT,
ScalarEvolution& SE,
LoopInfo& LI,
MemorySSA* MSSA);
Handles loop nests and general loop structures subject to the precondition that the loop has no parent loop and has a single latch block. Preserves all listed analyses.
| Name | Description |
|---|---|
| L | The loop whose backedge should be removed. |
| DT | Dominator tree to update. |
| SE | ScalarEvolution to update. |
| LI | Loop info to update. |
| MSSA | MemorySSA to update, or nullptr. |