LLVM API Documentation

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 36 of file PassAnalysisSupport.h.


Constructor & Destructor Documentation

llvm::AnalysisUsage::AnalysisUsage (  )  [inline]

Definition at line 41 of file PassAnalysisSupport.h.


Member Function Documentation

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

Definition at line 46 of file PassAnalysisSupport.h.

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

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

Definition at line 51 of file PassAnalysisSupport.h.

Referenced by llvm::X86SharedAsmPrinter::getAnalysisUsage(), llvm::RSProfilers_std::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostETForest::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::PostDominatorSet::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::ETForestBase::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::EquivClassGraphs::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), llvm::LocalDataStructures::getAnalysisUsage(), llvm::CallTargetFinder::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), and llvm::AliasAnalysis::getAnalysisUsage().

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

Definition at line 58 of file PassAnalysisSupport.h.

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

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

Definition at line 69 of file PassAnalysisSupport.h.

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

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

Definition at line 75 of file PassAnalysisSupport.h.

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

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

Definition at line 82 of file PassAnalysisSupport.h.

Referenced by llvm::X86SharedAsmPrinter::getAnalysisUsage(), llvm::ScalarEvolution::getAnalysisUsage(), llvm::PrintFunctionPass::getAnalysisUsage(), llvm::PrintModulePass::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostETForest::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::PostDominatorSet::getAnalysisUsage(), llvm::ImmediatePostDominators::getAnalysisUsage(), llvm::FunctionPassManagerT::getAnalysisUsage(), llvm::BasicBlockPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveVariables::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::ETForestBase::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::ImmediateDominators::getAnalysisUsage(), llvm::EquivClassGraphs::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), llvm::LocalDataStructures::getAnalysisUsage(), and llvm::CallTargetFinder::getAnalysisUsage().

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

Definition at line 83 of file PassAnalysisSupport.h.

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 65 of file Pass.cpp.

References getCFGOnlyAnalyses().

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

Definition at line 96 of file PassAnalysisSupport.h.

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

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

Definition at line 97 of file PassAnalysisSupport.h.

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

Definition at line 100 of file PassAnalysisSupport.h.


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