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. |