diff options
author | Chris Lattner <sabre@nondot.org> | 2002-11-06 19:07:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-11-06 19:07:13 +0000 |
commit | 2110808fd813bd04b910f4379e5524cb39504bf2 (patch) | |
tree | ca4bdd51db0b6bea09f344feb6c300f882f73696 /lib/Analysis/DataStructure/IPModRef.cpp | |
parent | fc928245adb01708fcfdd3a7505d57a758b1026a (diff) |
Give a back pointer to the IPModRef object to the FunctionModRefInfo object
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4576 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DataStructure/IPModRef.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/IPModRef.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Analysis/DataStructure/IPModRef.cpp b/lib/Analysis/DataStructure/IPModRef.cpp index 22d7caa92f..c32f4425cf 100644 --- a/lib/Analysis/DataStructure/IPModRef.cpp +++ b/lib/Analysis/DataStructure/IPModRef.cpp @@ -44,9 +44,10 @@ void ModRefInfo::dump() const // This constructor computes a node numbering for the TD graph. // FunctionModRefInfo::FunctionModRefInfo(const Function& func, + IPModRef& ipmro, const DSGraph& tdg, const DSGraph& ldg) - : F(func), + : F(func), IPModRefObj(ipmro), funcTDGraph(tdg), funcLocalGraph(ldg), funcModRefInfo(tdg.getGraphSize()) @@ -76,7 +77,7 @@ unsigned FunctionModRefInfo::getNodeId(const Value* value) const { // Dummy function that will be replaced with one that inlines // the callee's BU graph into the caller's TD graph. // -const DSGraph* ResolveGraphForCallSite(const DSGraph& funcTDGraph, +static const DSGraph* ResolveGraphForCallSite(const DSGraph& funcTDGraph, const CallInst& callInst) { return &funcTDGraph; // TEMPORARY @@ -203,9 +204,9 @@ FunctionModRefInfo& IPModRef::getFuncInfo(const Function& func, { FunctionModRefInfo*& funcInfo = funcToModRefInfoMap[&func]; assert (funcInfo != NULL || computeIfMissing); - if (funcInfo == NULL && computeIfMissing) + if (funcInfo == NULL) { // Create a new FunctionModRefInfo object - funcInfo = new FunctionModRefInfo(func, // inserts into map + funcInfo = new FunctionModRefInfo(func, *this, // inserts into map getAnalysis<TDDataStructures>().getDSGraph(func), getAnalysis<LocalDataStructures>().getDSGraph(func)); funcInfo->computeModRef(func); // computes the mod/ref info @@ -219,6 +220,7 @@ FunctionModRefInfo& IPModRef::getFuncInfo(const Function& func, void IPModRef::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<LocalDataStructures>(); + AU.addRequired<BUDataStructures>(); AU.addRequired<TDDataStructures>(); } |