LLVM 17.0.0git
|
Populate all loop data in a stable order during a single forward DFS. More...
#include "llvm/Analysis/LoopInfoImpl.h"
Public Member Functions | |
PopulateLoopsDFS (LoopInfoBase< BlockT, LoopT > *li) | |
void | traverse (BlockT *EntryBlock) |
Top-level driver for the forward DFS within the loop. | |
Protected Member Functions | |
void | insertIntoLoop (BlockT *Block) |
Add a single Block to its ancestor loops in PostOrder. | |
Populate all loop data in a stable order during a single forward DFS.
Definition at line 494 of file LoopInfoImpl.h.
|
inline |
Definition at line 501 of file LoopInfoImpl.h.
|
protected |
Add a single Block to its ancestor loops in PostOrder.
If the block is a subloop header, add the subloop to its parent in PostOrder, then reverse the Block and Subloop vectors of the now complete subloop to achieve RPO.
Definition at line 520 of file LoopInfoImpl.h.
References llvm::LoopInfoBase< BlockT, LoopT >::addTopLevelLoop(), llvm::Block, and llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor().
void llvm::PopulateLoopsDFS< BlockT, LoopT >::traverse | ( | BlockT * | EntryBlock | ) |
Top-level driver for the forward DFS within the loop.
Definition at line 511 of file LoopInfoImpl.h.
References llvm::post_order().
Referenced by llvm::LoopInfoBase< BlockT, LoopT >::analyze().