diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-10-20 18:08:55 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-10-20 18:08:55 +0000 |
commit | 3c579faecef377e0047522ca1692318ea7bf03f2 (patch) | |
tree | 1177434da1a9f078b6a913f1b207a48d92236762 /include/llvm/Analysis/DataStructure/DataStructure.h | |
parent | 42fd16931099f528228f020596f7fb5ef5ea8b7f (diff) |
Added a first-class representation for each call site that can be
used in the DS graphs in DSGraph.h. With that, the special-purpose
class BUDataStructure::CallSite is no longer needed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4229 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/DataStructure/DataStructure.h')
-rw-r--r-- | include/llvm/Analysis/DataStructure/DataStructure.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index f154a6e629..2dc4ce4d1e 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -12,6 +12,7 @@ class Type; class DSGraph; class DSNodeHandle; +class DSCallSite; class LocalDataStructures; // A collection of local graphs for a program class BUDataStructures; // A collection of bu graphs for a program class TDDataStructures; // A collection of td graphs for a program @@ -63,19 +64,10 @@ public: // only performs a "Bottom Up" propogation (hence the name). // class BUDataStructures : public Pass { -public: - struct CallSite { - Function *Caller; - std::vector<DSNodeHandle> Context; - - CallSite(Function &C, const std::vector<DSNodeHandle> &Con) - : Caller(&C), Context(Con) {} - }; - private: // DSInfo, one graph for each function std::map<const Function*, DSGraph*> DSInfo; - std::map<const Function*, std::vector<CallSite> > CallSites; + std::map<const Function*, std::vector<DSCallSite> > CallSites; public: ~BUDataStructures() { releaseMemory(); } @@ -88,8 +80,8 @@ public: return *I->second; } - const std::vector<CallSite> *getCallSites(const Function &F) const { - std::map<const Function*, std::vector<CallSite> >::const_iterator I + const std::vector<DSCallSite> *getCallSites(const Function &F) const { + std::map<const Function*, std::vector<DSCallSite> >::const_iterator I = CallSites.find(&F); return I != CallSites.end() ? &I->second : 0; } @@ -143,7 +135,7 @@ private: DSGraph &calculateGraph(Function &F); void ResolveCallSite(DSGraph &Graph, - const BUDataStructures::CallSite &CallSite); + const DSCallSite &CallSite); }; #if 0 |