LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::BUDataStructures Class Reference

#include <DataStructure.h>

Inheritance diagram for llvm::BUDataStructures:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef hash_multimap< Instruction *,
Function * > 
ActualCalleesTy

Public Member Functions

 ~BUDataStructures ()
virtual bool runOnModule (Module &M)
bool hasGraph (const Function &F) const
DSGraphgetDSGraph (const Function &F) const
DSGraphgetGlobalsGraph () const
void print (std::ostream &O, const Module *M) const
virtual void releaseMemory ()
virtual void getAnalysisUsage (AnalysisUsage &AU) const
const ActualCalleesTygetActualCallees () const

Protected Attributes

hash_map< Function *, DSGraph * > DSInfo
DSGraphGlobalsGraph
hash_multimap< Instruction *,
Function * > 
ActualCallees

Detailed Description

BUDataStructures - The analysis that computes the interprocedurally closed data structure graphs for all of the functions in the program. This pass only performs a "Bottom Up" propagation (hence the name).

Definition at line 89 of file DataStructure.h.


Member Typedef Documentation

typedef hash_multimap<Instruction*, Function*> llvm::BUDataStructures::ActualCalleesTy
 

Definition at line 129 of file DataStructure.h.


Constructor & Destructor Documentation

llvm::BUDataStructures::~BUDataStructures  )  [inline]
 

Definition at line 96 of file DataStructure.h.

References releaseMemory().


Member Function Documentation

const ActualCalleesTy& llvm::BUDataStructures::getActualCallees  )  const [inline]
 

Definition at line 130 of file DataStructure.h.

References ActualCallees.

Referenced by 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 124 of file DataStructure.h.

References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().

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

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

Reimplemented in llvm::CompleteBUDataStructures.

Definition at line 106 of file DataStructure.h.

References DSInfo, and I.

DSGraph& llvm::BUDataStructures::getGlobalsGraph  )  const [inline]
 

Definition at line 113 of file DataStructure.h.

References GlobalsGraph.

Referenced by llvm::TDDataStructures::runOnModule(), and llvm::CompleteBUDataStructures::runOnModule().

bool llvm::BUDataStructures::hasGraph const Function F  )  const [inline]
 

Reimplemented in llvm::CompleteBUDataStructures.

Definition at line 100 of file DataStructure.h.

References DSInfo.

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 313 of file Printer.cpp.

References DontPrintAnything, and printCollection().

void BUDataStructures::releaseMemory  )  [virtual]
 

releaseMemory - if the pass pipeline is done with this pass, we can release our memory...

Reimplemented from llvm::Pass.

Definition at line 232 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 38 of file BottomUpClosure.cpp.

References ActualCallees, llvm::Module::begin(), DSInfo, E, llvm::Module::end(), llvm::LocalDataStructures::getGlobalsGraph(), llvm::Module::getMainFunction(), GlobalsGraph, I, llvm::DSGraph::maskIncompleteMarkers(), NumCallEdges, llvm::DSGraph::removeTriviallyDeadNodes(), and llvm::DSGraph::setPrintAuxCalls().


Member Data Documentation

hash_multimap<Instruction*, Function*> llvm::BUDataStructures::ActualCallees [protected]
 

Definition at line 94 of file DataStructure.h.

Referenced by getActualCallees(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().

hash_map<Function*, DSGraph*> llvm::BUDataStructures::DSInfo [protected]
 

Definition at line 92 of file DataStructure.h.

Referenced by llvm::CompleteBUDataStructures::getDSGraph(), getDSGraph(), llvm::CompleteBUDataStructures::hasGraph(), hasGraph(), releaseMemory(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().

DSGraph* llvm::BUDataStructures::GlobalsGraph [protected]
 

Definition at line 93 of file DataStructure.h.

Referenced by getGlobalsGraph(), releaseMemory(), llvm::CompleteBUDataStructures::runOnModule(), and runOnModule().


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