Remove the backedge of the specified loop. 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.
Declared in <llvm/Transforms/Utils/LoopUtils.h>
void
breakLoopBackedge(
Loop* L,
DominatorTree& DT,
ScalarEvolution& SE,
LoopInfo& LI,
MemorySSA* MSSA);
| Name | Description |
|---|---|
| L | Represents a single loop in the control flow graph. Note that not all SCCs in the CFG are necessarily loops. |
| DT | Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. |
| SE | The main scalar evolution driver. Because client code (intentionally) can't do much with the SCEV objects directly, they must ask this class for services. |
| MSSA | Encapsulates MemorySSA, including all data associated with memory accesses. |