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

LLVM llvm at cs.uiuc.edu
Wed May 12 11:34:10 PDT 2004


Changes in directory llvm/include/llvm/Analysis:

SlotCalculator.h updated: 1.18 -> 1.18.6.1

---
Log message:

Change SymbolTable to not subclass from std::map but to embed one instead 
and cleanup use of SymbolTable in rest of LLVM. Also, add some new methods
to SymbolTable for small/utility cases and substitute calls to them in 
LLVM.


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

Index: llvm/include/llvm/Analysis/SlotCalculator.h
diff -u llvm/include/llvm/Analysis/SlotCalculator.h:1.18 llvm/include/llvm/Analysis/SlotCalculator.h:1.18.6.1
--- llvm/include/llvm/Analysis/SlotCalculator.h:1.18	Tue Jan 20 13:50:12 2004
+++ llvm/include/llvm/Analysis/SlotCalculator.h	Wed May 12 11:33:43 2004
@@ -26,6 +26,7 @@
 namespace llvm {
 
 class Value;
+class Type;
 class Module;
 class Function;
 class SymbolTable;
@@ -140,6 +141,22 @@
   void buildCompactionTable(const Function *F);
   unsigned getOrCreateCompactionTableSlot(const Value *V);
   void pruneCompactionTable();
+
+  struct ProcessSymbolTableFunctor { 
+    inline void operator() ( 
+      const Type*Ty, const std::string& name, const Value* V ); 
+    SlotCalculator* sc; 
+  };
+  struct ProcessSymbolTableConstantsFunctor { 
+    inline void operator() ( 
+      const Type*Ty, const std::string& name, const Value* V ); 
+    SlotCalculator* sc; 
+  };
+  struct CompactionTableFunctor { 
+    inline void operator() ( 
+      const Type*Ty, const std::string& name,const Value* V ); 
+    SlotCalculator* sc; 
+  };
 };
 
 } // End llvm namespace





More information about the llvm-commits mailing list