LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LICM Struct Reference

Inheritance diagram for LICM:

Inheritance graph
[legend]
Collaboration diagram for LICM:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LICM ()
virtual bool runOnLoop (Loop *L, LPPassManager &LPM)
virtual void getAnalysisUsage (AnalysisUsage &AU) const
bool doFinalization ()

Static Public Attributes

char ID = 0

Constructor & Destructor Documentation

LICM::LICM  )  [inline]
 

Definition at line 68 of file LICM.cpp.


Member Function Documentation

bool LICM::doFinalization  )  [inline, virtual]
 

Reimplemented from llvm::LoopPass.

Definition at line 86 of file LICM.cpp.

virtual void LICM::getAnalysisUsage AnalysisUsage AU  )  const [inline, virtual]
 

This transformation requires natural loop information & requires that loop preheaders be inserted into the CFG...

Reimplemented from llvm::Pass.

Definition at line 75 of file LICM.cpp.

References llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addRequired(), llvm::AnalysisUsage::addRequiredID(), llvm::LoopSimplifyID, and llvm::AnalysisUsage::setPreservesCFG().

bool LICM::runOnLoop Loop L,
LPPassManager LPM
[virtual]
 

Hoist expressions out of the specified loop. Note, alias info for inner loop is not preserved so it is not a good idea to run LICM multiple times on one loop.

Implements llvm::LoopPass.

Definition at line 230 of file LICM.cpp.

References llvm::AliasSetTracker::add(), llvm::LoopBase< BlockT >::begin(), llvm::LoopBase< BlockT >::block_begin(), llvm::LoopBase< BlockT >::block_end(), llvm::LoopBase< BlockT >::end(), llvm::LoopBase< BlockT >::getHeader(), llvm::LoopInfo::getLoopFor(), llvm::LoopBase< BlockT >::getLoopPreheader(), llvm::DominatorTree::getNode(), and llvm::Loop.


Member Data Documentation

char LICM::ID = 0 [static]
 

Definition at line 221 of file LICM.cpp.


The documentation for this struct was generated from the following file:


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.