LLVM API Documentation
#include <PassAnalysisSupport.h>
Collaboration diagram for llvm::AnalysisUsage:
Public Member Functions | |
AnalysisUsage () | |
AnalysisUsage & | addRequiredID (AnalysisID ID) |
template<class PassClass> | |
AnalysisUsage & | addRequired () |
template<class PassClass> | |
AnalysisUsage & | addRequiredTransitive () |
AnalysisUsage & | addPreservedID (AnalysisID ID) |
template<class PassClass> | |
AnalysisUsage & | addPreserved () |
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 |
Definition at line 36 of file PassAnalysisSupport.h.
llvm::AnalysisUsage::AnalysisUsage | ( | ) | [inline] |
Definition at line 41 of file PassAnalysisSupport.h.
AnalysisUsage& llvm::AnalysisUsage::addPreserved | ( | ) | [inline] |
Definition at line 75 of file PassAnalysisSupport.h.
Referenced by llvm::CallGraphSCCPass::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().
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::PhyRegAlloc::getAnalysisUsage(), llvm::ModuloSchedulingSBPass::getAnalysisUsage(), llvm::ModuloSchedulingPass::getAnalysisUsage(), llvm::LoopInfo::getAnalysisUsage(), llvm::LiveIntervals::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::ETForestBase::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::DependenceAnalyzer::getAnalysisUsage(), llvm::EquivClassGraphs::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), llvm::LocalDataStructures::getAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), and llvm::AliasAnalysis::getAnalysisUsage().
AnalysisUsage& llvm::AnalysisUsage::addRequiredID | ( | AnalysisID | ID | ) | [inline] |
Definition at line 46 of file PassAnalysisSupport.h.
Referenced by llvm::LiveIntervals::getAnalysisUsage().
AnalysisUsage& llvm::AnalysisUsage::addRequiredTransitive | ( | ) | [inline] |
Definition at line 58 of file PassAnalysisSupport.h.
Referenced by llvm::ScalarEvolution::getAnalysisUsage().
const std::vector<AnalysisID>& llvm::AnalysisUsage::getPreservedSet | ( | ) | const [inline] |
Definition at line 100 of file PassAnalysisSupport.h.
bool llvm::AnalysisUsage::getPreservesAll | ( | ) | const [inline] |
Definition at line 83 of file PassAnalysisSupport.h.
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.
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::FunctionLiveVarInfo::getAnalysisUsage(), llvm::FindUsedTypes::getAnalysisUsage(), llvm::DominanceFrontier::getAnalysisUsage(), llvm::DominatorTree::getAnalysisUsage(), llvm::ETForestBase::getAnalysisUsage(), llvm::DominatorSet::getAnalysisUsage(), llvm::ImmediateDominators::getAnalysisUsage(), llvm::DependenceAnalyzer::getAnalysisUsage(), llvm::EquivClassGraphs::getAnalysisUsage(), llvm::CompleteBUDataStructures::getAnalysisUsage(), llvm::TDDataStructures::getAnalysisUsage(), llvm::BUDataStructures::getAnalysisUsage(), and llvm::LocalDataStructures::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 68 of file Pass.cpp.
References getCFGOnlyAnalyses().
Referenced by llvm::PeepholeOpts::getAnalysisUsage().