LLVM API Documentation

Public Types | Public Member Functions
llvm::AnalysisUsage Class Reference

#include <PassAnalysisSupport.h>

List of all members.

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

Definition at line 47 of file PassAnalysisSupport.h.


Member Function Documentation

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

Definition at line 55 of file PassAnalysisSupport.h.

References addRequiredID().

Referenced by llvm::NVPTXLowerAggrCopies::getAnalysisUsage(), llvm::NVPTXAllocaHoisting::getAnalysisUsage(), llvm::BlockFrequencyInfo::getAnalysisUsage(), llvm::Inliner::getAnalysisUsage(), llvm::MachineBlockFrequencyInfo::getAnalysisUsage(), llvm::StackMapLiveness::getAnalysisUsage(), llvm::MachineFunctionPass::getAnalysisUsage(), llvm::BranchProbabilityInfo::getAnalysisUsage(), llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::JumpInstrTables::getAnalysisUsage(), llvm::SelectionDAGISel::getAnalysisUsage(), llvm::TargetTransformInfo::getAnalysisUsage(), llvm::AliasAnalysis::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), llvm::MachineTraceMetrics::getAnalysisUsage(), llvm::LazyValueInfo::getAnalysisUsage(), llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::RGPassManager::getAnalysisUsage(), llvm::MachineDominanceFrontier::getAnalysisUsage(), llvm::DOTGraphTraitsModuleViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::InlineCostAnalysis::getAnalysisUsage(), llvm::MachineRegionInfoPass::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::DOTGraphTraitsModulePrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::AsmPrinter::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::RegionInfoPass::getAnalysisUsage(), and llvm::ScalarEvolution::getAnalysisUsage().

Definition at line 276 of file Pass.cpp.

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

Referenced by addRequired().

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

Definition at line 94 of file PassAnalysisSupport.h.

Referenced by llvm::PostDominatorTree::getAnalysisUsage(), llvm::BlockFrequencyInfo::getAnalysisUsage(), llvm::MachineBlockFrequencyInfo::getAnalysisUsage(), llvm::MachineBranchProbabilityInfo::getAnalysisUsage(), llvm::StackMapLiveness::getAnalysisUsage(), llvm::BranchProbabilityInfo::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::VirtRegMap::getAnalysisUsage(), llvm::MachineTraceMetrics::getAnalysisUsage(), llvm::MachinePostDominatorTree::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), llvm::LazyValueInfo::getAnalysisUsage(), llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::RGPassManager::getAnalysisUsage(), llvm::MachineDominanceFrontier::getAnalysisUsage(), llvm::DOTGraphTraitsModuleViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::InlineCostAnalysis::getAnalysisUsage(), llvm::MachineRegionInfoPass::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::DOTGraphTraitsModulePrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::getAnalysisUsage(), llvm::AsmPrinter::getAnalysisUsage(), llvm::DominatorTreeWrapperPass::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::legacy::FunctionPassManagerImpl::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::CallGraphWrapperPass::getAnalysisUsage(), llvm::legacy::PassManagerImpl::getAnalysisUsage(), llvm::FPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::RegionInfoPass::getAnalysisUsage(), llvm::ScalarEvolution::getAnalysisUsage(), llvm::DependenceAnalysis::getAnalysisUsage(), and INITIALIZE_PASS().

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

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


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