[llvm-commits] CVS: llvm/include/llvm/Analysis/DataStructure.h

Chris Lattner lattner at cs.uiuc.edu
Tue Oct 22 10:59:03 PDT 2002


Changes in directory llvm/include/llvm/Analysis:

DataStructure.h updated: 1.46 -> 1.47

---
Log message:

We need to know the call sites each function hosts


---
Diffs of the changes:

Index: llvm/include/llvm/Analysis/DataStructure.h
diff -u llvm/include/llvm/Analysis/DataStructure.h:1.46 llvm/include/llvm/Analysis/DataStructure.h:1.47
--- llvm/include/llvm/Analysis/DataStructure.h:1.46	Mon Oct 21 14:47:14 2002
+++ llvm/include/llvm/Analysis/DataStructure.h	Tue Oct 22 10:58:23 2002
@@ -65,7 +65,6 @@
 // only performs a "Bottom Up" propogation (hence the name).
 //
 class BUDataStructures : public Pass {
-private:
   // DSInfo, one graph for each function
   std::map<const Function*, DSGraph*> DSInfo;
   std::map<const Function*, std::vector<DSCallSite> > CallSites;
@@ -118,6 +117,15 @@
   //
   typedef std::map<const DSNode*, DSNodeHandle> BUNodeMapTy;
   std::map<const Function*, BUNodeMapTy> BUMaps;
+
+  // CallSitesForFunction - This is a temporary map that is only kept around
+  // when building the top-down closures for a program.  It traverses all of the
+  // call sites in the BU graph and holds all of the call sites that each
+  // function is the "resolving caller" for.
+  //
+  std::map<const Function*,
+           std::vector<const DSCallSite*> > CallSitesForFunction;
+
 public:
   ~TDDataStructures() { releaseMemory(); }
 





More information about the llvm-commits mailing list