class MemoryDepAnalysis : public Pass {
/// The following map and depGraph pointer are temporary until this class
- /// becomes a FunctionPass instead of a module Pass. */
+ /// becomes a FunctionPass instead of a module Pass.
hash_map<Function*, DependenceGraph*> funcMap;
DependenceGraph* funcDepGraph;
const FunctionModRefInfo* funcModRef;
/// Internal routine that processes each SCC of the CFG.
+ ///
void ProcessSCC(std::vector<BasicBlock*> &SCC, ModRefTable& ModRefAfter,
bool HasLoop);
~MemoryDepAnalysis();
/// Driver function to compute dependence graphs for every function.
+ ///
bool run(Module &M);
- /// getGraph() -- Retrieve the dependence graph for a function.
+ /// 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.
///
return *I->second;
}
const DependenceGraph& getGraph(Function& F) const {
- hash_map<Function*, DependenceGraph*>::const_iterator
- I = funcMap.find(&F);
+ hash_map<Function*, DependenceGraph*>::const_iterator I = funcMap.find(&F);
assert(I != funcMap.end());
return *I->second;
}
///
virtual void releaseMemory();
-
/// Driver functions to compute the Load/Store Dep. Graph per function.
///
bool runOnFunction(Function &F);