LLVM API Documentation
#include <DataStructure.h>
Inheritance diagram for llvm::BUDataStructures:
Definition at line 105 of file DataStructure.h.
typedef std::set<std::pair<Instruction*, Function*> > llvm::BUDataStructures::ActualCalleesTy |
Definition at line 163 of file DataStructure.h.
typedef ActualCalleesTy::const_iterator llvm::BUDataStructures::callee_iterator |
Definition at line 168 of file DataStructure.h.
llvm::BUDataStructures::~BUDataStructures | ( | ) | [inline] |
callee_iterator llvm::BUDataStructures::callee_begin | ( | Instruction * | I | ) | const [inline] |
callee_iterator llvm::BUDataStructures::callee_end | ( | Instruction * | I | ) | const [inline] |
Definition at line 648 of file BottomUpClosure.cpp.
References abort(), DSInfo, F, G, getDSGraph(), getFnForValue(), llvm::DSGraph::getScalarMap(), and GlobalECs.
Definition at line 411 of file BottomUpClosure.cpp.
References abort(), DSInfo, F, llvm::DSGraph::getTargetData(), GlobalECs, and GlobalsGraph.
Referenced by getDSGraph().
void BUDataStructures::deleteValue | ( | Value * | V | ) |
deleteValue/copyValue - Interfaces to update the DSGraphs in the program. These correspond to the interfaces defined in the AliasAnalysis class.
Definition at line 630 of file BottomUpClosure.cpp.
References DSInfo, F, getDSGraph(), getFnForValue(), llvm::DSGraph::getReturnNodes(), llvm::DSGraph::getScalarMap(), and V.
const ActualCalleesTy& llvm::BUDataStructures::getActualCallees | ( | ) | const [inline] |
Definition at line 164 of file DataStructure.h.
References ActualCallees.
Referenced by llvm::EquivClassGraphs::runOnModule(), and llvm::CompleteBUDataStructures::runOnModule().
virtual void llvm::BUDataStructures::getAnalysisUsage | ( | AnalysisUsage & | AU | ) | const [inline, virtual] |
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.
Reimplemented from llvm::Pass.
Reimplemented in llvm::CompleteBUDataStructures.
Definition at line 158 of file DataStructure.h.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
getDSGraph - Return the data structure graph for the specified function.
Reimplemented in llvm::CompleteBUDataStructures.
Definition at line 130 of file DataStructure.h.
References CreateGraphForExternalFunction(), DSInfo, F, and I.
Referenced by copyValue(), and deleteValue().
EquivalenceClasses<GlobalValue*>& llvm::BUDataStructures::getGlobalECs | ( | ) | [inline] |
Definition at line 141 of file DataStructure.h.
References GlobalECs.
Referenced by llvm::TDDataStructures::runOnModule(), llvm::EquivClassGraphs::runOnModule(), and llvm::CompleteBUDataStructures::runOnModule().
DSGraph& llvm::BUDataStructures::getGlobalsGraph | ( | ) | const [inline] |
Definition at line 139 of file DataStructure.h.
References GlobalsGraph.
Referenced by llvm::TDDataStructures::runOnModule(), llvm::EquivClassGraphs::runOnModule(), and llvm::CompleteBUDataStructures::runOnModule().
bool llvm::BUDataStructures::hasGraph | ( | const Function & | F | ) | const [inline] |
void BUDataStructures::print | ( | std::ostream & | O, | |
const Module * | M | |||
) | const [virtual] |
print - Print out the analysis results...
Reimplemented from llvm::Pass.
Reimplemented in llvm::CompleteBUDataStructures.
Definition at line 343 of file Printer.cpp.
References DontPrintAnything, M, and printCollection().
void BUDataStructures::releaseMyMemory | ( | ) |
Definition at line 396 of file BottomUpClosure.cpp.
References DSInfo, E, GlobalsGraph, and I.
Referenced by ~BUDataStructures().
bool BUDataStructures::runOnModule | ( | Module & | M | ) | [virtual] |
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Implements llvm::ModulePass.
Reimplemented in llvm::CompleteBUDataStructures.
Definition at line 120 of file BottomUpClosure.cpp.
References ActualCallees, llvm::Module::begin(), BuildGlobalECs(), llvm::DSGraph::DontCloneAuxCallNodes, llvm::DSGraph::DontCloneCallNodes, DSInfo, E, EliminateUsesOfECGlobals(), llvm::Module::end(), llvm::ReachabilityCloner::getClonedNH(), llvm::LocalDataStructures::getGlobalECs(), llvm::DSGraph::getGlobalsGraph(), llvm::LocalDataStructures::getGlobalsGraph(), llvm::Module::getMainFunction(), llvm::DSGraph::getNodeForValue(), llvm::DSGraph::getScalarMap(), GlobalECs, GlobalsGraph, I, llvm::DSGraph::IgnoreGlobals, IndCallGraphMap, M, llvm::DSGraph::MarkFormalArgs, llvm::DSGraph::markIncompleteNodes(), llvm::DSGraph::maskIncompleteMarkers(), NumCallEdges, RC, llvm::DSGraph::removeTriviallyDeadNodes(), llvm::DSGraph::setPrintAuxCalls(), Stack, and llvm::X.
std::set<std::pair<Instruction*, Function*> > llvm::BUDataStructures::ActualCallees [protected] |
Definition at line 110 of file DataStructure.h.
Referenced by callee_begin(), callee_end(), getActualCallees(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().
hash_map<Function*, DSGraph*> llvm::BUDataStructures::DSInfo [protected] |
Definition at line 108 of file DataStructure.h.
Referenced by copyValue(), CreateGraphForExternalFunction(), deleteValue(), llvm::CompleteBUDataStructures::getDSGraph(), getDSGraph(), llvm::CompleteBUDataStructures::hasGraph(), hasGraph(), releaseMyMemory(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().
EquivalenceClasses<GlobalValue*> llvm::BUDataStructures::GlobalECs [protected] |
GlobalECs - The equivalence classes for each global value that is merged with other global values in the DSGraphs.
Definition at line 118 of file DataStructure.h.
Referenced by copyValue(), CreateGraphForExternalFunction(), getGlobalECs(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().
DSGraph* llvm::BUDataStructures::GlobalsGraph [protected] |
Definition at line 109 of file DataStructure.h.
Referenced by CreateGraphForExternalFunction(), getGlobalsGraph(), releaseMyMemory(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().
std::map<std::vector<Function*>, std::pair<DSGraph*, std::vector<DSNodeHandle> > >* llvm::BUDataStructures::IndCallGraphMap [protected] |