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::MemoryDepAnalysis Class Reference

#include <MemoryDepAnalysis.h>

Inheritance diagram for llvm::MemoryDepAnalysis:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MemoryDepAnalysis ()
 ~MemoryDepAnalysis ()
bool runOnModule (Module &M)
DependenceGraph & getGraph (Function &F)
const DependenceGraph & getGraph (Function &F) const
virtual void releaseMemory ()
bool runOnFunction (Function &F)
void getAnalysisUsage (AnalysisUsage &AU) const
void print (std::ostream &O) const
void dump () const

Friends

class PgmDependenceGraph

Detailed Description

--------------------------------------------------------------------------- class MemoryDepGraph: Dependence analysis for load/store/call instructions using IPModRef info computed at the granularity of individual DSGraph nodes.

This pass computes memory dependences for each function in a module. It can be made a FunctionPass once a Pass (such as Parallelize) is allowed to use a FunctionPass such as this one. ---------------------------------------------------------------------------

Definition at line 43 of file MemoryDepAnalysis.h.


Constructor & Destructor Documentation

llvm::MemoryDepAnalysis::MemoryDepAnalysis (   )  [inline]
 

Definition at line 61 of file MemoryDepAnalysis.h.

llvm::MemoryDepAnalysis::~MemoryDepAnalysis (   ) 
 

Definition at line 482 of file MemoryDepAnalysis.cpp.

References releaseMemory().


Member Function Documentation

void llvm::MemoryDepAnalysis::dump (   )  const
 

Reimplemented from llvm::Pass.

Definition at line 490 of file MemoryDepAnalysis.cpp.

References print().

void llvm::MemoryDepAnalysis::getAnalysisUsage (  AnalysisUsage &  AU  )  const [virtual]
 

getAnalysisUsage - This does not modify anything. It uses the Top-Down DS Graph and IPModRef.

Reimplemented from llvm::Pass.

Definition at line 208 of file MemoryDepAnalysis.cpp.

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

const DependenceGraph& llvm::MemoryDepAnalysis::getGraph (  Function &  F  )  const [inline]
 

Definition at line 77 of file MemoryDepAnalysis.h.

References I.

DependenceGraph& llvm::MemoryDepAnalysis::getGraph (  Function &  F  )  [inline]
 

getGraph - Retrieve the dependence graph for a function. This is temporary and will go away once this is a FunctionPass. At that point, this class should directly inherit from DependenceGraph.

Definition at line 72 of file MemoryDepAnalysis.h.

References I.

void llvm::MemoryDepAnalysis::print (  std::ostream &  O  )  const [virtual]
 

Debugging support methods

Reimplemented from llvm::Pass.

Definition at line 408 of file MemoryDepAnalysis.cpp.

References E, llvm::Value::getName(), I, and llvm::DependenceGraph::print().

Referenced by dump().

void llvm::MemoryDepAnalysis::releaseMemory (   )  [virtual]
 

Release depGraphs held in the Function -> DepGraph map.

Reimplemented from llvm::Pass.

Definition at line 469 of file MemoryDepAnalysis.cpp.

References E, and I.

Referenced by ~MemoryDepAnalysis().

bool llvm::MemoryDepAnalysis::runOnFunction (  Function &  F  ) 
 

Driver functions to compute the Load/Store Dep. Graph per function.

Definition at line 429 of file MemoryDepAnalysis.cpp.

References E, llvm::FunctionModRefInfo::getFuncGraph(), I, llvm::Function::isExternal(), llvm::scc_begin(), and llvm::scc_end().

Referenced by runOnModule().

bool llvm::MemoryDepAnalysis::runOnModule (  Module &  M  )  [virtual]
 

Driver function to compute dependence graphs for every function.

Implements llvm::ModulePass.

Definition at line 460 of file MemoryDepAnalysis.cpp.

References llvm::Module::begin(), llvm::Module::end(), and runOnFunction().


Friends And Related Function Documentation

friend class PgmDependenceGraph [friend]
 

Definition at line 58 of file MemoryDepAnalysis.h.


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