Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues
authorChris Lattner <sabre@nondot.org>
Sat, 28 Jun 2003 21:57:13 +0000 (21:57 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 28 Jun 2003 21:57:13 +0000 (21:57 +0000)
into callers of getScalarMap

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6944 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DSGraph.h
include/llvm/Analysis/DataStructure/DSGraph.h

index 9a897b2c97c153d9f94b11c052e4a73789b6019b..8b79c34583669d73d8e8b3f5b8283c5c1d543287 100644 (file)
 //===----------------------------------------------------------------------===//
 /// 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 @@ public:
   /// 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 @@ public:
   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 @@ public:
   // '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);
 
index 9a897b2c97c153d9f94b11c052e4a73789b6019b..8b79c34583669d73d8e8b3f5b8283c5c1d543287 100644 (file)
 //===----------------------------------------------------------------------===//
 /// 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 @@ public:
   /// 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 @@ public:
   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 @@ public:
   // '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);