LLVM API Documentation
#include <PgmDependenceGraph.h>
Inheritance diagram for llvm::PgmDependenceGraph:
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) |
PgmDependenceGraph & | getGraph (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 |
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.
|
Definition at line 226 of file PgmDependenceGraph.h. |
|
Definition at line 230 of file PgmDependenceGraph.h. |
|
Definition at line 231 of file PgmDependenceGraph.h. |
|
Reimplemented from llvm::Pass. Definition at line 250 of file PgmDependenceGraph.cpp. References print(). |
|
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(). |
|
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. |
|
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. |
|
Definition at line 240 of file PgmDependenceGraph.h. |
|
Definition at line 243 of file PgmDependenceGraph.h. Referenced by FindParallelCalls::visitCallInst(), and Cilkifier::visitCallInst(). |
|
Definition at line 246 of file PgmDependenceGraph.h. |
|
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(). |
|
----END TEMPORARY FUNCTIONS--------------------------------------------- This initializes the program dependence graph iterator for a function. Definition at line 277 of file PgmDependenceGraph.h. |
|
Driver function to compute dependence graphs for every function. Implements llvm::ModulePass. Definition at line 256 of file PgmDependenceGraph.h. |
|
Definition at line 223 of file PgmDependenceGraph.h. |
|
Definition at line 222 of file PgmDependenceGraph.h. |