LLVM API Documentation
#include <PassAnalysisSupport.h>
Public Types | |
| typedef SmallVector < AnalysisID, 32 > | VectorType |
Public Member Functions | |
| AnalysisUsage () | |
| AnalysisUsage & | addRequiredID (AnalysisID ID) |
| template<class PassClass> | |
| AnalysisUsage & | addRequired () |
| AnalysisUsage & | addRequiredTransitiveID (AnalysisID ID) |
| template<class PassClass> | |
| AnalysisUsage & | addRequiredTransitive () |
| AnalysisUsage & | addPreservedID (AnalysisID ID) |
| template<class PassClass> | |
| AnalysisUsage & | addPreserved () |
| void | setPreservesAll () |
| bool | getPreservesAll () const |
| void | setPreservesCFG () |
| const VectorType & | getRequiredSet () const |
| const VectorType & | getRequiredTransitiveSet () const |
| const VectorType & | getPreservedSet () const |
Definition at line 37 of file PassAnalysisSupport.h.
| typedef SmallVector<AnalysisID, 32> llvm::AnalysisUsage::VectorType |
Definition at line 39 of file PassAnalysisSupport.h.
| llvm::AnalysisUsage::AnalysisUsage | ( | ) | [inline] |
Definition at line 47 of file PassAnalysisSupport.h.
| AnalysisUsage& llvm::AnalysisUsage::addRequiredID | ( | AnalysisID | ID | ) | [inline] |
Definition at line 52 of file PassAnalysisSupport.h.
Referenced by addRequired(), llvm::LiveVariables::getAnalysisUsage(), and llvm::LiveIntervals::getAnalysisUsage().
| AnalysisUsage& llvm::AnalysisUsage::addRequired | ( | ) | [inline] |
Definition at line 58 of file PassAnalysisSupport.h.
References addRequiredID().
Referenced by llvm::X86ATTAsmPrinter::getAnalysisUsage(), llvm::SimpleRegisterCoalescing::getAnalysisUsage(), llvm::SelectionDAGISel::getAnalysisUsage(), llvm::RSProfilers_std::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), llvm::Inliner::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), llvm::AsmPrinter::getAnalysisUsage(), and llvm::AliasAnalysis::getAnalysisUsage().
| AnalysisUsage& llvm::AnalysisUsage::addRequiredTransitiveID | ( | AnalysisID | ID | ) | [inline] |
| AnalysisUsage& llvm::AnalysisUsage::addRequiredTransitive | ( | ) | [inline] |
Definition at line 69 of file PassAnalysisSupport.h.
References addRequiredTransitiveID(), and ID.
Referenced by llvm::ScalarEvolution::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), and llvm::LoopVR::getAnalysisUsage().
| AnalysisUsage& llvm::AnalysisUsage::addPreservedID | ( | AnalysisID | ID | ) | [inline] |
Definition at line 77 of file PassAnalysisSupport.h.
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage(), llvm::SimpleRegisterCoalescing::getAnalysisUsage(), llvm::DebugLabelFolder::getAnalysisUsage(), and llvm::LiveIntervals::getAnalysisUsage().
| AnalysisUsage& llvm::AnalysisUsage::addPreserved | ( | ) | [inline] |
Definition at line 83 of file PassAnalysisSupport.h.
Referenced by llvm::SimpleRegisterCoalescing::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), and llvm::CallGraphSCCPass::getAnalysisUsage().
| void llvm::AnalysisUsage::setPreservesAll | ( | ) | [inline] |
Definition at line 90 of file PassAnalysisSupport.h.
Referenced by llvm::X86ATTAsmPrinter::getAnalysisUsage(), llvm::SelectionDAGISel::getAnalysisUsage(), llvm::ScalarEvolution::getAnalysisUsage(), llvm::PostDominanceFrontier::getAnalysisUsage(), llvm::PostDominatorTree::getAnalysisUsage(), llvm::FPPassManager::getAnalysisUsage(), llvm::PassManagerImpl::getAnalysisUsage(), llvm::MPPassManager::getAnalysisUsage(), llvm::FunctionPassManagerImpl::getAnalysisUsage(), llvm::MemoryDependenceAnalysis::getAnalysisUsage(), llvm::MachineLoopInfo::getAnalysisUsage(), llvm::MachineDominatorTree::getAnalysisUsage(), llvm::LoopVR::getAnalysisUsage(), llvm::LPPassManager::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveVariables::getAnalysisUsage(), llvm::LiveStacks::getAnalysisUsage(), llvm::LibCallAliasAnalysis::getAnalysisUsage(), llvm::IntervalPartition::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), and llvm::DominatorTree::getAnalysisUsage().
| bool llvm::AnalysisUsage::getPreservesAll | ( | ) | const [inline] |
Definition at line 91 of file PassAnalysisSupport.h.
Referenced by llvm::PMDataManager::preserveHigherLevelAnalysis(), and llvm::PMDataManager::removeNotPreservedAnalysis().
| 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.
| const VectorType& llvm::AnalysisUsage::getRequiredSet | ( | ) | const [inline] |
Definition at line 104 of file PassAnalysisSupport.h.
Referenced by llvm::PMDataManager::collectRequiredAnalysis(), llvm::PMDataManager::dumpRequiredSet(), llvm::PMDataManager::initializeAnalysisImpl(), and llvm::PMTopLevelManager::schedulePass().
| const VectorType& llvm::AnalysisUsage::getRequiredTransitiveSet | ( | ) | const [inline] |
Definition at line 105 of file PassAnalysisSupport.h.
Referenced by llvm::PMDataManager::collectRequiredAnalysis().
| const VectorType& llvm::AnalysisUsage::getPreservedSet | ( | ) | const [inline] |
Definition at line 108 of file PassAnalysisSupport.h.
Referenced by llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::preserveHigherLevelAnalysis(), llvm::PMDataManager::removeNotPreservedAnalysis(), and llvm::PMDataManager::verifyPreservedAnalysis().