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 ()
AnalysisUsageaddRequiredTransitiveID (AnalysisID ID)
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

Constructor & Destructor Documentation

llvm::AnalysisUsage::AnalysisUsage  )  [inline]
 

Definition at line 41 of file PassAnalysisSupport.h.


Member Function Documentation

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

Definition at line 77 of file PassAnalysisSupport.h.

Referenced by TwoAddressInstructionPass::getAnalysisUsage(), StrongPHIElimination::getAnalysisUsage(), llvm::SimpleRegisterCoalescing::getAnalysisUsage(), RALinScan::getAnalysisUsage(), PNE::getAnalysisUsage(), PromotePass::getAnalysisUsage(), MachineSinking::getAnalysisUsage(), MachineLICM::getAnalysisUsage(), LowerSwitch::getAnalysisUsage(), LowerAllocations::getAnalysisUsage(), LoopUnswitch::getAnalysisUsage(), LoopUnroll::getAnalysisUsage(), LoopStrengthReduce::getAnalysisUsage(), LoopSimplify::getAnalysisUsage(), LoopRotate::getAnalysisUsage(), LoopIndexSplit::getAnalysisUsage(), LoopDeletion::getAnalysisUsage(), LoopAligner::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), LICM::getAnalysisUsage(), LCSSA::getAnalysisUsage(), DSE::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), and BreakCriticalEdges::getAnalysisUsage().

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

Definition at line 71 of file PassAnalysisSupport.h.

References llvm::AnalysisID.

Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage(), TwoAddressInstructionPass::getAnalysisUsage(), llvm::SimpleRegisterCoalescing::getAnalysisUsage(), RALinScan::getAnalysisUsage(), RegToMem::getAnalysisUsage(), PNE::getAnalysisUsage(), PromotePass::getAnalysisUsage(), LowerSwitch::getAnalysisUsage(), LowerInvoke::getAnalysisUsage(), LowerAllocations::getAnalysisUsage(), LoopUnswitch::getAnalysisUsage(), LoopUnroll::getAnalysisUsage(), LoopStrengthReduce::getAnalysisUsage(), LoopSimplify::getAnalysisUsage(), LoopRotate::getAnalysisUsage(), LoopIndexSplit::getAnalysisUsage(), LoopDeletion::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), LCSSA::getAnalysisUsage(), InstCombiner::getAnalysisUsage(), IndVarSimplify::getAnalysisUsage(), and BreakCriticalEdges::getAnalysisUsage().

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

Definition at line 52 of file PassAnalysisSupport.h.

Referenced by Emitter::getAnalysisUsage(), llvm::X86ATTAsmPrinter::getAnalysisUsage(), Verifier::getAnalysisUsage(), StrongPHIElimination::getAnalysisUsage(), StackSlotColoring::getAnalysisUsage(), SimplifyLibCalls::getAnalysisUsage(), llvm::SimpleRegisterCoalescing::getAnalysisUsage(), llvm::SelectionDAGISel::getAnalysisUsage(), SROA::getAnalysisUsage(), ProfilerRS::getAnalysisUsage(), llvm::RSProfilers_std::getAnalysisUsage(), RALinScan::getAnalysisUsage(), DarwinAsmPrinter::getAnalysisUsage(), LinuxAsmPrinter::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), MSILWriter::getAnalysisUsage(), MSILModule::getAnalysisUsage(), PromotePass::getAnalysisUsage(), MachineSinking::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), MachineLICM::getAnalysisUsage(), LowerAllocations::getAnalysisUsage(), LoopUnswitch::getAnalysisUsage(), LoopUnroll::getAnalysisUsage(), LoopStrengthReduce::getAnalysisUsage(), LoopSimplify::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), LoopIndexSplit::getAnalysisUsage(), LoopExtractor::getAnalysisUsage(), LoopDeletion::getAnalysisUsage(), LoopAligner::getAnalysisUsage(), LoadVN::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), LICM::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), LCSSA::getAnalysisUsage(), InstCombiner::getAnalysisUsage(), llvm::Inliner::getAnalysisUsage(), IndVarSimplify::getAnalysisUsage(), GlobalsModRef::getAnalysisUsage(), GlobalOpt::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), DTE::getAnalysisUsage(), DSE::getAnalysisUsage(), Deleter::getAnalysisUsage(), Printer::getAnalysisUsage(), MachineCodeAnalysis::getAnalysisUsage(), LowerIntrinsics::getAnalysisUsage(), CWriter::getAnalysisUsage(), CBackendNameAllUsedStructsAndMergeFunctions::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), CGPassManager::getAnalysisUsage(), BlockPlacement::getAnalysisUsage(), NoAA::getAnalysisUsage(), llvm::AsmPrinter::getAnalysisUsage(), ARMAsmPrinter::getAnalysisUsage(), ArgPromotion::getAnalysisUsage(), AliasSetPrinter::getAnalysisUsage(), AAEval::getAnalysisUsage(), AliasAnalysisCounter::getAnalysisUsage(), and llvm::AliasAnalysis::getAnalysisUsage().

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

Definition at line 46 of file PassAnalysisSupport.h.

References llvm::AnalysisID.

Referenced by Verifier::getAnalysisUsage(), ProfilerRS::getAnalysisUsage(), RegAllocSimple::getAnalysisUsage(), RALocal::getAnalysisUsage(), RABigBlock::getAnalysisUsage(), RegToMem::getAnalysisUsage(), LoopUnswitch::getAnalysisUsage(), LoopUnroll::getAnalysisUsage(), LoopStrengthReduce::getAnalysisUsage(), LoopRotate::getAnalysisUsage(), LoopIndexSplit::getAnalysisUsage(), LoopExtractor::getAnalysisUsage(), LoopDeletion::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), LICM::getAnalysisUsage(), LCSSA::getAnalysisUsage(), IndVarSimplify::getAnalysisUsage(), and CondProp::getAnalysisUsage().

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

Definition at line 63 of file PassAnalysisSupport.h.

References llvm::AnalysisID.

Referenced by llvm::ScalarEvolution::getAnalysisUsage(), RALinScan::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::LoopVR::getAnalysisUsage(), and LoadVN::getAnalysisUsage().

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

Definition at line 56 of file PassAnalysisSupport.h.

References llvm::AnalysisID.

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

Definition at line 102 of file PassAnalysisSupport.h.

Referenced by llvm::PMDataManager::preserveHigherLevelAnalysis(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::FPPassManager::runOnFunction(), BBPassManager::runOnFunction(), llvm::LPPassManager::runOnFunction(), llvm::MPPassManager::runOnModule(), CGPassManager::runOnModule(), and llvm::PMDataManager::verifyPreservedAnalysis().

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

Definition at line 85 of file PassAnalysisSupport.h.

Referenced by llvm::PMDataManager::preserveHigherLevelAnalysis(), and llvm::PMDataManager::removeNotPreservedAnalysis().

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

Definition at line 98 of file PassAnalysisSupport.h.

Referenced by llvm::PMDataManager::collectRequiredAnalysis(), llvm::PMDataManager::initializeAnalysisImpl(), llvm::FPPassManager::runOnFunction(), BBPassManager::runOnFunction(), llvm::LPPassManager::runOnFunction(), llvm::MPPassManager::runOnModule(), CGPassManager::runOnModule(), and llvm::PMTopLevelManager::schedulePass().

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

Definition at line 99 of file PassAnalysisSupport.h.

Referenced by llvm::PMDataManager::collectRequiredAnalysis().

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

Definition at line 84 of file PassAnalysisSupport.h.

Referenced by llvm::X86ATTAsmPrinter::getAnalysisUsage(), Verifier::getAnalysisUsage(), StripSymbols::getAnalysisUsage(), llvm::SelectionDAGISel::getAnalysisUsage(), llvm::ScalarEvolution::getAnalysisUsage(), NullProfilerRS::getAnalysisUsage(), LoaderPass::getAnalysisUsage(), llvm::PrintFunctionPass::getAnalysisUsage(), llvm::PrintModulePass::getAnalysisUsage(), DarwinAsmPrinter::getAnalysisUsage(), LinuxAsmPrinter::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::FPPassManager::getAnalysisUsage(), llvm::PassManagerImpl::getAnalysisUsage(), llvm::MPPassManager::getAnalysisUsage(), llvm::FunctionPassManagerImpl::getAnalysisUsage(), BBPassManager::getAnalysisUsage(), MSILWriter::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::MachineDominatorTree::getAnalysisUsage(), llvm::LoopVR::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), LoadVN::getAnalysisUsage(), llvm::LiveVariables::getAnalysisUsage(), llvm::LiveStacks::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), Hello2::getAnalysisUsage(), GlobalsModRef::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), Deleter::getAnalysisUsage(), Printer::getAnalysisUsage(), MachineCodeAnalysis::getAnalysisUsage(), CFGOnlyPrinter::getAnalysisUsage(), CFGPrinter::getAnalysisUsage(), CFGOnlyViewer::getAnalysisUsage(), CFGViewer::getAnalysisUsage(), CWriter::getAnalysisUsage(), CGPassManager::getAnalysisUsage(), BasicCallGraph::getAnalysisUsage(), ARMAsmPrinter::getAnalysisUsage(), Andersens::getAnalysisUsage(), AliasSetPrinter::getAnalysisUsage(), AliasDebugger::getAnalysisUsage(), AAEval::getAnalysisUsage(), and AliasAnalysisCounter::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 316 of file Pass.cpp.

Referenced by SCCP::getAnalysisUsage(), SROA::getAnalysisUsage(), Reassociate::getAnalysisUsage(), PromotePass::getAnalysisUsage(), MachineLICM::getAnalysisUsage(), LowerAllocations::getAnalysisUsage(), LICM::getAnalysisUsage(), LCSSA::getAnalysisUsage(), InstCombiner::getAnalysisUsage(), IndVarSimplify::getAnalysisUsage(), DSE::getAnalysisUsage(), DCE::getAnalysisUsage(), DeadInstElimination::getAnalysisUsage(), ConstantPropagation::getAnalysisUsage(), BlockPlacement::getAnalysisUsage(), and ADCE::getAnalysisUsage().


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


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