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

#include <PgmDependenceGraph.h>

Inheritance diagram for llvm::PgmDependenceGraph:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef PDGIterator iterator

Public Member Functions

 PgmDependenceGraph ()
 ~PgmDependenceGraph ()
iterator inDepBegin (Instruction &I, PDGIteratorFlags whichDeps=AllDeps)
iterator inDepEnd (Instruction &I, PDGIteratorFlags whichDeps=AllDeps)
iterator outDepBegin (Instruction &I, PDGIteratorFlags whichDeps=AllDeps)
iterator outDepEnd (Instruction &I, PDGIteratorFlags whichDeps=AllDeps)
bool runOnModule (Module &M)
PgmDependenceGraphgetGraph (Function &F)
bool runOnFunction (Function &func)
 ----END TEMPORARY FUNCTIONS---------------------------------------------
void getAnalysisUsage (AnalysisUsage &AU) const
void print (std::ostream &O) const
void dump () const

Friends

class PDGIterator
class DepIterState

Detailed Description

--------------------------------------------------------------------------- class PgmDependenceGraph:

This pass enumerates dependences incident on each instruction in a function. 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 203 of file PgmDependenceGraph.h.


Member Typedef Documentation

typedef PDGIterator llvm::PgmDependenceGraph::iterator
 

Definition at line 226 of file PgmDependenceGraph.h.


Constructor & Destructor Documentation

llvm::PgmDependenceGraph::PgmDependenceGraph  )  [inline]
 

Definition at line 230 of file PgmDependenceGraph.h.

llvm::PgmDependenceGraph::~PgmDependenceGraph  )  [inline]
 

Definition at line 231 of file PgmDependenceGraph.h.


Member Function Documentation

void llvm::PgmDependenceGraph::dump  )  const
 

Reimplemented from llvm::Pass.

Definition at line 250 of file PgmDependenceGraph.cpp.

References print().

void llvm::PgmDependenceGraph::getAnalysisUsage AnalysisUsage AU  )  const [inline, virtual]
 

getAnalysisUsage - This does not modify anything. It uses the Memory Dependence Analysis pass. It needs to use the PostDominanceFrontier pass, but cannot because that is a FunctionPass. This means control dependence are not emumerated.

Reimplemented from llvm::Pass.

Definition at line 287 of file PgmDependenceGraph.h.

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

PgmDependenceGraph& llvm::PgmDependenceGraph::getGraph Function F  )  [inline]
 

getGraph() -- Retrieve the pgm dependence graph for a function. This is temporary and will go away once this is a FunctionPass. At that point, this class itself will be the PgmDependenceGraph you want.

Definition at line 262 of file PgmDependenceGraph.h.

iterator llvm::PgmDependenceGraph::inDepBegin Instruction I,
PDGIteratorFlags  whichDeps = AllDeps
[inline]
 

Iterators to enumerate the program dependence graph for a function. Note that this does not provide "end" iterators to check for completion. Instead, just use iterator::fini() or iterator::operator*() == NULL

Definition at line 237 of file PgmDependenceGraph.h.

iterator llvm::PgmDependenceGraph::inDepEnd Instruction I,
PDGIteratorFlags  whichDeps = AllDeps
[inline]
 

Definition at line 240 of file PgmDependenceGraph.h.

iterator llvm::PgmDependenceGraph::outDepBegin Instruction I,
PDGIteratorFlags  whichDeps = AllDeps
[inline]
 

Definition at line 243 of file PgmDependenceGraph.h.

Referenced by FindParallelCalls::visitCallInst(), and Cilkifier::visitCallInst().

iterator llvm::PgmDependenceGraph::outDepEnd Instruction I,
PDGIteratorFlags  whichDeps = AllDeps
[inline]
 

Definition at line 246 of file PgmDependenceGraph.h.

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

Debugging support methods

Reimplemented from llvm::Pass.

Definition at line 225 of file PgmDependenceGraph.cpp.

References llvm::Function::begin(), E, llvm::Function::end(), llvm::MemoryDepAnalysis::funcMap, llvm::Value::getName(), llvm::DependenceGraph::getNode(), and llvm::DepGraphNode::print().

Referenced by dump().

bool llvm::PgmDependenceGraph::runOnFunction Function func  )  [inline]
 

----END TEMPORARY FUNCTIONS---------------------------------------------

This initializes the program dependence graph iterator for a function.

Definition at line 277 of file PgmDependenceGraph.h.

bool llvm::PgmDependenceGraph::runOnModule Module M  )  [inline, virtual]
 

Driver function to compute dependence graphs for every function.

Implements llvm::ModulePass.

Definition at line 256 of file PgmDependenceGraph.h.


Friends And Related Function Documentation

friend class DepIterState [friend]
 

Definition at line 223 of file PgmDependenceGraph.h.

friend class PDGIterator [friend]
 

Definition at line 222 of file PgmDependenceGraph.h.


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