Implement review feedback. Aliasees can be either GlobalValue's or
[oota-llvm.git] / lib / Bytecode / Reader / Reader.h
index c852cce6babdc18873c73d462ff39887c7e45d44..95cf58c2b3cbfadf0f8a078e8e2dba5bc6aadb45 100644 (file)
@@ -129,6 +129,9 @@ public:
   /// them.
   typedef std::vector<std::pair<GlobalVariable*, unsigned> > GlobalInitsList;
 
+  /// @brief A list of global aliases and the slot number for constant aliasees
+  typedef std::vector<std::pair<GlobalAlias*, unsigned> > AliaseeList;
+
   /// This type maps a typeslot/valueslot pair to the corresponding Value*.
   /// It is used for dealing with forward references as values are read in.
   /// @brief A map for dealing with forward references of values.
@@ -338,6 +341,12 @@ private:
   /// of what we must do.
   GlobalInitsList GlobalInits;
 
+  /// Constant values are read in after global aliases. Because of this, we must
+  /// defer setting the constant aliasees until after module level constants
+  /// have been read. In the mean time, this list keeps track of what we must
+  /// do.
+  AliaseeList Aliasees;
+  
   // For lazy reading-in of functions, we need to save away several pieces of
   // information about each function: its begin and end pointer in the buffer
   // and its FunctionSlot.