LLVM API Documentation
#include <DataStructure.h>
Inheritance diagram for llvm::TDDataStructures:
Public Member Functions | |
~TDDataStructures () | |
virtual bool | runOnModule (Module &M) |
bool | hasGraph (const Function &F) const |
DSGraph & | getDSGraph (const Function &F) const |
DSGraph & | getGlobalsGraph () const |
EquivalenceClasses< GlobalValue * > & | getGlobalECs () |
void | deleteValue (Value *V) |
void | copyValue (Value *From, Value *To) |
void | print (std::ostream &O, const Module *M) const |
virtual void | releaseMyMemory () |
virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
Classes | |
struct | CallerCallEdge |
Definition at line 193 of file DataStructure.h.
llvm::TDDataStructures::~TDDataStructures | ( | ) | [inline] |
Definition at line 439 of file TopDownClosure.cpp.
References abort(), F, G, getDSGraph(), getFnForValue(), and llvm::DSGraph::getScalarMap().
void TDDataStructures::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 421 of file TopDownClosure.cpp.
References F, getDSGraph(), getFnForValue(), llvm::DSGraph::getReturnNodes(), llvm::DSGraph::getScalarMap(), and V.
virtual void llvm::TDDataStructures::getAnalysisUsage | ( | AnalysisUsage & | AU | ) | const [inline, virtual] |
getAnalysisUsage - This obviously provides a data structure graph.
Reimplemented from llvm::Pass.
Definition at line 268 of file DataStructure.h.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
getDSGraph - Return the data structure graph for the specified function.
Definition at line 241 of file DataStructure.h.
Referenced by copyValue(), and deleteValue().
EquivalenceClasses<GlobalValue*>& llvm::TDDataStructures::getGlobalECs | ( | ) | [inline] |
Definition at line 250 of file DataStructure.h.
DSGraph& llvm::TDDataStructures::getGlobalsGraph | ( | ) | const [inline] |
Definition at line 249 of file DataStructure.h.
bool llvm::TDDataStructures::hasGraph | ( | const Function & | F | ) | const [inline] |
void TDDataStructures::print | ( | std::ostream & | O, | |
const Module * | M | |||
) | const [virtual] |
print - Print out the analysis results...
Reimplemented from llvm::Pass.
Definition at line 348 of file Printer.cpp.
References DontPrintAnything, M, and printCollection().
void TDDataStructures::releaseMyMemory | ( | ) | [virtual] |
If the pass pipeline is done with this pass, we can release our memory...
Definition at line 196 of file TopDownClosure.cpp.
Referenced by ~TDDataStructures().
bool TDDataStructures::runOnModule | ( | Module & | M | ) | [virtual] |
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Implements llvm::ModulePass.
Definition at line 61 of file TopDownClosure.cpp.
References llvm::DSGraph::afc_begin(), llvm::DSGraph::afc_end(), llvm::Module::begin(), E, llvm::Module::end(), F, llvm::DSScalarMap::find(), llvm::BUDataStructures::getGlobalECs(), llvm::BUDataStructures::getGlobalsGraph(), llvm::Module::getMainFunction(), llvm::DSGraph::getScalarMap(), llvm::DSScalarMap::global_begin(), llvm::DSScalarMap::global_end(), I, M, llvm::DSGraph::removeTriviallyDeadNodes(), llvm::DSGraph::setPrintAuxCalls(), and TIME_REGION.