LLVM API Documentation

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

llvm::AnalysisUsage Class Reference

#include <PassAnalysisSupport.h>

Collaboration diagram for llvm::AnalysisUsage:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AnalysisUsage ()
AnalysisUsageaddRequiredID (AnalysisID ID)
template<class PassClass>
AnalysisUsageaddRequired ()
template<class PassClass>
AnalysisUsageaddRequiredTransitive ()
AnalysisUsageaddPreservedID (AnalysisID ID)
template<class PassClass>
AnalysisUsageaddPreserved ()
void setPreservesAll ()
bool getPreservesAll () const
void setPreservesCFG ()
const std::vector< AnalysisID > & getRequiredSet () const
const std::vector< AnalysisID > & getRequiredTransitiveSet () const
const std::vector< AnalysisID > & getPreservedSet () const

Detailed Description

Definition at line 34 of file PassAnalysisSupport.h.


Constructor & Destructor Documentation

llvm::AnalysisUsage::AnalysisUsage  )  [inline]
 

Definition at line 39 of file PassAnalysisSupport.h.


Member Function Documentation

template<class PassClass>
AnalysisUsage& llvm::AnalysisUsage::addPreserved  )  [inline]
 

Definition at line 73 of file PassAnalysisSupport.h.

Referenced by llvm::LiveIntervals::getAnalysisUsage(), and llvm::CallGraphSCCPass::getAnalysisUsage().

AnalysisUsage& llvm::AnalysisUsage::addPreservedID AnalysisID  ID  )  [inline]
 

Definition at line 67 of file PassAnalysisSupport.h.

Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage(), and llvm::LiveIntervals::getAnalysisUsage().

template<class PassClass>
AnalysisUsage& llvm::AnalysisUsage::addRequired  )  [inline]
 

Definition at line 49 of file PassAnalysisSupport.h.

Referenced by llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::ImmediatePostDominators::getAnalysisUsage(), llvm::PhyRegAlloc::getAnalysisUsage(), llvm::PgmDependenceGraph::getAnalysisUsage(), llvm::MemoryDepAnalysis::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), llvm::IPModRef::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), llvm::LocalDataStructures::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), llvm::AliasAnalysis::getAnalysisUsage(), and llvm::ProfilePaths::ProfilePaths::getAnalysisUsage().

AnalysisUsage& llvm::AnalysisUsage::addRequiredID AnalysisID  ID  )  [inline]
 

Definition at line 44 of file PassAnalysisSupport.h.

Referenced by llvm::ScalarEvolution::getAnalysisUsage(), and llvm::LiveIntervals::getAnalysisUsage().

template<class PassClass>
AnalysisUsage& llvm::AnalysisUsage::addRequiredTransitive  )  [inline]
 

Definition at line 56 of file PassAnalysisSupport.h.

Referenced by llvm::ScalarEvolution::getAnalysisUsage().

const std::vector<AnalysisID>& llvm::AnalysisUsage::getPreservedSet  )  const [inline]
 

Definition at line 98 of file PassAnalysisSupport.h.

Referenced by llvm::PassManagerT< Function >::runOnUnit().

bool llvm::AnalysisUsage::getPreservesAll  )  const [inline]
 

Definition at line 81 of file PassAnalysisSupport.h.

Referenced by llvm::PassManagerT< Function >::runOnUnit().

const std::vector<AnalysisID>& llvm::AnalysisUsage::getRequiredSet  )  const [inline]
 

Definition at line 94 of file PassAnalysisSupport.h.

Referenced by llvm::PassManagerT< Function >::add(), llvm::PassManagerT< Function >::addPass(), and llvm::PassManagerT< Function >::runOnUnit().

const std::vector<AnalysisID>& llvm::AnalysisUsage::getRequiredTransitiveSet  )  const [inline]
 

Definition at line 95 of file PassAnalysisSupport.h.

Referenced by llvm::PassManagerT< Function >::markPassUsed().

void llvm::AnalysisUsage::setPreservesAll  )  [inline]
 

Definition at line 80 of file PassAnalysisSupport.h.

Referenced by llvm::ScalarEvolution::getAnalysisUsage(), llvm::PrintFunctionPass::getAnalysisUsage(), llvm::PrintModulePass::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::ImmediatePostDominators::getAnalysisUsage(), llvm::PostDominatorSet::getAnalysisUsage(), llvm::PgmDependenceGraph::getAnalysisUsage(), llvm::PassManagerTraits< Function >::getAnalysisUsage(), llvm::PassManagerTraits< BasicBlock >::getAnalysisUsage(), llvm::MemoryDepAnalysis::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveVariables::getAnalysisUsage(), llvm::IPModRef::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), llvm::FunctionLiveVarInfo::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::FindUnsafePointerTypes::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::ImmediateDominators::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), llvm::LocalDataStructures::getAnalysisUsage(), and llvm::CallGraph::getAnalysisUsage().

void AnalysisUsage::setPreservesCFG  ) 
 

setPreservesCFG - This function should be called by the pass, iff they do not:

1. Add or remove basic blocks from the function 2. Modify terminator instructions in any way.

This function annotates the AnalysisUsage info object to say that analyses that only depend on the CFG are preserved by this pass.

Definition at line 66 of file Pass.cpp.

References getCFGOnlyAnalyses().

Referenced by llvm::PeepholeOpts::getAnalysisUsage().


The documentation for this class was generated from the following files: