LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::AnalysisUsage Class Reference

#include <PassAnalysisSupport.h>

Public Types

typedef SmallVector
< AnalysisID, 32 > 
VectorType
 

Public Member Functions

 AnalysisUsage ()
 
AnalysisUsageaddRequiredID (const void *ID)
 
AnalysisUsageaddRequiredID (char &ID)
 
template<class PassClass >
AnalysisUsageaddRequired ()
 
AnalysisUsageaddRequiredTransitiveID (char &ID)
 
template<class PassClass >
AnalysisUsageaddRequiredTransitive ()
 
AnalysisUsageaddPreservedID (const void *ID)
 
AnalysisUsageaddPreservedID (char &ID)
 
template<class PassClass >
AnalysisUsageaddPreserved ()
 
AnalysisUsageaddPreserved (StringRef Arg)
 
void setPreservesAll ()
 
bool getPreservesAll () const
 
void setPreservesCFG ()
 
const VectorTypegetRequiredSet () const
 
const VectorTypegetRequiredTransitiveSet () const
 
const VectorTypegetPreservedSet () const
 

Detailed Description

Definition at line 37 of file PassAnalysisSupport.h.

Member Typedef Documentation

Definition at line 39 of file PassAnalysisSupport.h.

Constructor & Destructor Documentation

llvm::AnalysisUsage::AnalysisUsage ( )
inline

Definition at line 47 of file PassAnalysisSupport.h.

Member Function Documentation

template<class PassClass >
AnalysisUsage& llvm::AnalysisUsage::addPreserved ( )
inline
AnalysisUsage & AnalysisUsage::addPreserved ( StringRef  Arg)
AnalysisUsage& llvm::AnalysisUsage::addPreservedID ( const void *  ID)
inline
AnalysisUsage& llvm::AnalysisUsage::addPreservedID ( char &  ID)
inline
template<class PassClass >
AnalysisUsage& llvm::AnalysisUsage::addRequired ( )
inline
AnalysisUsage & AnalysisUsage::addRequiredID ( const void *  ID)

Definition at line 262 of file Pass.cpp.

References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by addRequired().

AnalysisUsage & AnalysisUsage::addRequiredID ( char &  ID)
template<class PassClass >
AnalysisUsage& llvm::AnalysisUsage::addRequiredTransitive ( )
inline
AnalysisUsage & AnalysisUsage::addRequiredTransitiveID ( char &  ID)
const VectorType& llvm::AnalysisUsage::getPreservedSet ( ) const
inline
bool llvm::AnalysisUsage::getPreservesAll ( ) const
inline
const VectorType& llvm::AnalysisUsage::getRequiredSet ( ) const
inline
const VectorType& llvm::AnalysisUsage::getRequiredTransitiveSet ( ) const
inline
void llvm::AnalysisUsage::setPreservesAll ( )
inline

Definition at line 94 of file PassAnalysisSupport.h.

Referenced by llvm::PostDominatorTree::getAnalysisUsage(), llvm::DOTGraphTraitsViewer< Analysis, Simple >::getAnalysisUsage(), llvm::BlockFrequencyInfo::getAnalysisUsage(), llvm::MachineBlockFrequencyInfo::getAnalysisUsage(), llvm::MachineBranchProbabilityInfo::getAnalysisUsage(), llvm::BranchProbabilityInfo::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::LazyValueInfo::getAnalysisUsage(), llvm::DOTGraphTraitsPrinter< Analysis, Simple >::getAnalysisUsage(), llvm::VirtRegMap::getAnalysisUsage(), llvm::MachineTraceMetrics::getAnalysisUsage(), llvm::MachinePostDominatorTree::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::DOTGraphTraitsModuleViewer< Analysis, Simple >::getAnalysisUsage(), llvm::RGPassManager::getAnalysisUsage(), llvm::InlineCostAnalysis::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::DOTGraphTraitsModulePrinter< Analysis, Simple >::getAnalysisUsage(), llvm::AsmPrinter::getAnalysisUsage(), llvm::CallGraph::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::legacy::FunctionPassManagerImpl::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::legacy::PassManagerImpl::getAnalysisUsage(), llvm::FPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::RegionInfo::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::ScalarEvolution::getAnalysisUsage(), llvm::DependenceAnalysis::getAnalysisUsage(), and INITIALIZE_PASS().

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

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


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