LLVM API Documentation

llvm::TDDataStructures Class Reference

#include <DataStructure.h>

Inheritance diagram for llvm::TDDataStructures:

Inheritance graph
[legend]
Collaboration diagram for llvm::TDDataStructures:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ~TDDataStructures ()
virtual bool runOnModule (Module &M)
bool hasGraph (const Function &F) const
DSGraphgetDSGraph (const Function &F) const
DSGraphgetGlobalsGraph () 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

Detailed Description

TDDataStructures - Analysis that computes new data structure graphs for each function using the closed graphs for the callers computed by the bottom-up pass.

Definition at line 193 of file DataStructure.h.


Constructor & Destructor Documentation

llvm::TDDataStructures::~TDDataStructures (  )  [inline]

Definition at line 231 of file DataStructure.h.

References releaseMyMemory().


Member Function Documentation

void TDDataStructures::copyValue ( Value From,
Value To 
)

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().

DSGraph& llvm::TDDataStructures::getDSGraph ( const Function F  )  const [inline]

getDSGraph - Return the data structure graph for the specified function.

Definition at line 241 of file DataStructure.h.

References F, and I.

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]

Definition at line 235 of file DataStructure.h.

References F.

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.

References E, and I.

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.


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