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

Chris Lattner lattner at cs.uiuc.edu
Mon Mar 21 12:30:09 PST 2005



Changes in directory llvm/include/llvm/Analysis/DataStructure:

DataStructure.h updated: 1.87 -> 1.88
---
Log message:

add a new map


---
Diffs of the changes:  (+8 -0)

 DataStructure.h |    8 ++++++++
 1 files changed, 8 insertions(+)


Index: llvm/include/llvm/Analysis/DataStructure/DataStructure.h
diff -u llvm/include/llvm/Analysis/DataStructure/DataStructure.h:1.87 llvm/include/llvm/Analysis/DataStructure/DataStructure.h:1.88
--- llvm/include/llvm/Analysis/DataStructure/DataStructure.h:1.87	Sun Mar 20 22:46:35 2005
+++ llvm/include/llvm/Analysis/DataStructure/DataStructure.h	Mon Mar 21 14:29:56 2005
@@ -201,6 +201,14 @@
 
   std::map<DSGraph*, std::vector<CallerCallEdge> > CallerEdges;
 
+
+  // IndCallMap - We memoize the results of indirect call inlining operations
+  // that have multiple targets here to avoid N*M inlining.  The key to the map
+  // is a sorted set of callee functions, the value is the DSGraph that holds
+  // all of the caller graphs merged together, and the DSCallSite to merge with
+  // the arguments for each function.
+  std::map<std::vector<Function*>, DSGraph*> IndCallMap;
+
 public:
   ~TDDataStructures() { releaseMyMemory(); }
 






More information about the llvm-commits mailing list