LLVM API Documentation
#include <LoopInfo.h>
Inheritance diagram for llvm::LoopInfo:
Public Types | |
typedef std::vector< Loop * >::const_iterator | iterator |
Public Member Functions | |
~LoopInfo () | |
iterator | begin () const |
iterator | end () const |
Loop * | getLoopFor (const BasicBlock *BB) const |
const Loop * | operator[] (const BasicBlock *BB) const |
unsigned | getLoopDepth (const BasicBlock *BB) const |
bool | isLoopHeader (BasicBlock *BB) const |
virtual bool | runOnFunction (Function &F) |
virtual void | releaseMemory () |
void | print (std::ostream &O) const |
virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
Loop * | removeLoop (iterator I) |
void | changeLoopFor (BasicBlock *BB, Loop *L) |
void | changeTopLevelLoop (Loop *OldLoop, Loop *NewLoop) |
void | addTopLevelLoop (Loop *New) |
void | removeBlock (BasicBlock *BB) |
Static Public Member Functions | |
static void | stub () |
Friends | |
class | Loop |
Definition at line 198 of file LoopInfo.h.
|
iterator/begin/end - The interface to the top-level loops in the current function. Definition at line 209 of file LoopInfo.h. |
|
Definition at line 204 of file LoopInfo.h. References releaseMemory(). |
|
addTopLevelLoop - This adds the specified loop to the collection of top-level loops. Definition at line 266 of file LoopInfo.h. References llvm::Loop::getParentLoop(). Referenced by CloneLoop(). |
|
Definition at line 210 of file LoopInfo.h. Referenced by llvm::ScalarEvolution::print(), and removeLoop(). |
|
changeLoopFor - Change the top-level loop that contains BB to the specified loop. This should be used by transformations that restructure the loop hierarchy tree. Definition at line 292 of file LoopInfo.cpp. |
|
changeTopLevelLoop - Replace the specified loop in the top-level loops list with the indicated loop. Definition at line 300 of file LoopInfo.cpp. References llvm::Loop::ParentLoop. |
|
Definition at line 211 of file LoopInfo.h. Referenced by llvm::ScalarEvolution::print(), and removeLoop(). |
|
getAnalysisUsage - Requires dominator sets Reimplemented from llvm::Pass. Definition at line 117 of file LoopInfo.cpp. References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll(). |
|
getLoopDepth - Return the loop nesting level of the specified block... Definition at line 229 of file LoopInfo.h. References llvm::Loop::getLoopDepth(), and getLoopFor(). Referenced by llvm::LiveIntervals::runOnMachineFunction(). |
|
getLoopFor - Return the inner most loop that BB lives in. If a basic block is in no loop (for example the entry node), null is returned. Definition at line 216 of file LoopInfo.h. References I. Referenced by CloneLoop(), getLoopDepth(), isLoopHeader(), operator[](), and llvm::ScalarEvolution::print(). |
|
Definition at line 235 of file LoopInfo.h. References llvm::Loop::getHeader(), and getLoopFor(). |
|
operator[] - same as getLoopFor... Definition at line 223 of file LoopInfo.h. References getLoopFor(). |
|
Reimplemented from llvm::Pass. Definition at line 122 of file LoopInfo.cpp. |
|
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. The default behavior of passes is to hold onto memory for the entire duration of their lifetime (which is the entire compile time). For pipelined passes, this is not a big deal because that memory gets recycled every time the pass is invoked on another program unit. For IP passes, it is more important to free memory when it is unused. Optionally implement this function to release pass memory when it is no longer used. Reimplemented from llvm::Pass. Definition at line 98 of file LoopInfo.cpp. Referenced by runOnFunction(), and ~LoopInfo(). |
|
removeBlock - This method completely removes BB from all data structures, including all of the Loop objects it is nested in and our mapping from BasicBlocks to loops. Definition at line 323 of file LoopInfo.cpp. References llvm::Loop::getParentLoop(), and llvm::Loop::removeBlockFromLoop(). |
|
removeLoop - This removes the specified top-level loop from this loop info object. The loop is not deleted, as it will presumably be inserted into another loop. Definition at line 312 of file LoopInfo.cpp. References begin(), end(), and llvm::Loop::getParentLoop(). |
|
runOnFunction - Calculate the natural loop information. Implements llvm::FunctionPass. Definition at line 92 of file LoopInfo.cpp. References releaseMemory(). |
|
Definition at line 90 of file LoopInfo.cpp. |
|
Definition at line 202 of file LoopInfo.h. |