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
DSGraph & getDSGraph (const Function &F) const
DSGraph & getGlobalsGraph () const
void print (std::ostream &O, const Module *M) const
virtual void releaseMemory ()
virtual void getAnalysisUsage (AnalysisUsage &AU) const
const ActualCalleesTy & getActualCallees () const

Protected Attributes

hash_map< Function *, DSGraph * > DSInfo
DSGraph * GlobalsGraph
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: