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

Chris Lattner lattner at cs.uiuc.edu
Sat Jun 28 16:58:01 PDT 2003


Changes in directory llvm/include/llvm/Analysis:

DSGraph.h updated: 1.50 -> 1.51

---
Log message:

Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues
into callers of getScalarMap


---
Diffs of the changes:

Index: llvm/include/llvm/Analysis/DSGraph.h
diff -u llvm/include/llvm/Analysis/DSGraph.h:1.50 llvm/include/llvm/Analysis/DSGraph.h:1.51
--- llvm/include/llvm/Analysis/DSGraph.h:1.50	Sat Jun 21 22:05:45 2003
+++ llvm/include/llvm/Analysis/DSGraph.h	Sat Jun 28 16:57:13 2003
@@ -12,14 +12,18 @@
 //===----------------------------------------------------------------------===//
 /// DSGraph - The graph that represents a function.
 ///
-class DSGraph {
+struct DSGraph {
+  // Public data-type declarations...
+  typedef hash_map<Value*, DSNodeHandle> ScalarMapTy;
+
+private:
   Function *Func;          // Func - The LLVM function this graph corresponds to
   DSGraph *GlobalsGraph;   // Pointer to the common graph of global objects
   bool PrintAuxCalls;      // Should this graph print the Aux calls vector?
 
   DSNodeHandle RetNode;    // The node that gets returned...
   std::vector<DSNode*> Nodes;
-  hash_map<Value*, DSNodeHandle> ScalarMap;
+  ScalarMapTy ScalarMap;
 
   // FunctionCalls - This vector maintains a single entry for each call
   // instruction in the current graph.  The first entry in the vector is the
@@ -80,8 +84,8 @@
   /// getScalarMap - Get a map that describes what the nodes the scalars in this
   /// function point to...
   ///
-  hash_map<Value*, DSNodeHandle> &getScalarMap() { return ScalarMap; }
-  const hash_map<Value*, DSNodeHandle> &getScalarMap() const {return ScalarMap;}
+  ScalarMapTy &getScalarMap() { return ScalarMap; }
+  const ScalarMapTy &getScalarMap() const {return ScalarMap;}
 
   /// getFunctionCalls - Return the list of call sites in the original local
   /// graph...
@@ -106,7 +110,7 @@
   DSNodeHandle &getNodeForValue(Value *V) { return ScalarMap[V]; }
 
   const DSNodeHandle &getNodeForValue(Value *V) const {
-    hash_map<Value*, DSNodeHandle>::const_iterator I = ScalarMap.find(V);
+    ScalarMapTy::const_iterator I = ScalarMap.find(V);
     assert(I != ScalarMap.end() &&
            "Use non-const lookup function if node may not be in the map");
     return I->second;
@@ -181,8 +185,7 @@
   // 'StripAllocaBit', Alloca markers are removed from the graph as the graph is
   // being cloned.
   //
-  DSNodeHandle cloneInto(const DSGraph &G,
-                         hash_map<Value*, DSNodeHandle> &OldValMap,
+  DSNodeHandle cloneInto(const DSGraph &G, ScalarMapTy &OldValMap,
                          hash_map<const DSNode*, DSNodeHandle> &OldNodeMap,
                          unsigned CloneFlags = 0);
 





More information about the llvm-commits mailing list