diff options
Diffstat (limited to 'lib/Bytecode/Reader/Reader.h')
-rw-r--r-- | lib/Bytecode/Reader/Reader.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Bytecode/Reader/Reader.h b/lib/Bytecode/Reader/Reader.h index c852cce6ba..95cf58c2b3 100644 --- a/lib/Bytecode/Reader/Reader.h +++ b/lib/Bytecode/Reader/Reader.h @@ -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. |