ΒΆvoid appendLoopsToWorklist(
llvm::LoopInfo&,
SmallPriorityWorklist<llvm::Loop*, 4>&)
void appendLoopsToWorklist(
llvm::LoopInfo&,
SmallPriorityWorklist<llvm::Loop*, 4>&)
Description
Utility that implements appending of loops onto a worklist given LoopInfo. Calls the templated utility taking a Range of loops, handing it the Loops in LoopInfo, iterated in reverse. This is because the loops are stored in RPO w.r.t. the control flow graph in LoopInfo. For the purpose of unrolling, loop deletion, and LICM, we largely want to work forward across the CFG so that we visit defs before uses and can propagate simplifications from one loop nest into the next. Calls appendReversedLoopsToWorklist with the already reversed loops in LI. FIXME: Consider changing the order in LoopInfo.
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:497
Parameters
- llvm::LoopInfo&
- SmallPriorityWorklist<llvm::Loop*, 4>&