aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/DataStructure/DataStructure.h
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2002-10-20 18:08:55 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2002-10-20 18:08:55 +0000
commit3c579faecef377e0047522ca1692318ea7bf03f2 (patch)
tree1177434da1a9f078b6a913f1b207a48d92236762 /include/llvm/Analysis/DataStructure/DataStructure.h
parent42fd16931099f528228f020596f7fb5ef5ea8b7f (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.h18
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