LLVM 20.0.0git
|
Wrapper class to LoopBlocksDFS that provides a standard begin()/end() interface for the DFS reverse post-order traversal of blocks in a loop body. More...
#include "llvm/Analysis/LoopIterator.h"
Public Member Functions | |
LoopBlocksRPO (Loop *Container) | |
void | perform (const LoopInfo *LI) |
Traverse the loop blocks and store the DFS result. | |
LoopBlocksDFS::RPOIterator | begin () const |
Reverse iterate over the cached postorder blocks. | |
LoopBlocksDFS::RPOIterator | end () const |
Wrapper class to LoopBlocksDFS that provides a standard begin()/end() interface for the DFS reverse post-order traversal of blocks in a loop body.
Definition at line 172 of file LoopIterator.h.
|
inline |
Definition at line 177 of file LoopIterator.h.
|
inline |
Reverse iterate over the cached postorder blocks.
Definition at line 185 of file LoopIterator.h.
References llvm::LoopBlocksDFS::beginRPO().
|
inline |
Definition at line 186 of file LoopIterator.h.
References llvm::LoopBlocksDFS::endRPO().
Traverse the loop blocks and store the DFS result.
Definition at line 180 of file LoopIterator.h.
References llvm::LoopBlocksDFS::perform().
Referenced by llvm::HardwareLoopInfo::canAnalyze(), canProveExitOnFirstIteration(), collectSupportedLoops(), llvm::hoistRegion(), isLoopDead(), isSafeForNoNTrivialUnswitching(), simplifyLoopInst(), and unswitchNontrivialInvariants().