Implement review feedback. Aliasees can be either GlobalValue's or
[oota-llvm.git] / lib / Bytecode / Writer / SlotCalculator.cpp
index 85ccad58c5ba32f0500c626a49c67f2167553c34..3a038cd449af4413675a8eee4cb4953648276a13 100644 (file)
@@ -89,6 +89,12 @@ void SlotCalculator::processModule() {
        I != E; ++I)
     CreateSlotIfNeeded(I);
 
+  // Add all of the global aliases to the value table...
+  //
+  for (Module::const_alias_iterator I = TheModule->alias_begin(),
+         E = TheModule->alias_end(); I != E; ++I)
+    CreateSlotIfNeeded(I);
+
   // Add all of the module level constants used as initializers
   //
   for (Module::const_global_iterator I = TheModule->global_begin(),
@@ -96,6 +102,13 @@ void SlotCalculator::processModule() {
     if (I->hasInitializer())
       CreateSlotIfNeeded(I->getInitializer());
 
+  // Add all of the module level constants used as aliasees
+  //
+  for (Module::const_alias_iterator I = TheModule->alias_begin(),
+         E = TheModule->alias_end(); I != E; ++I)
+    if (I->getAliasee())
+      CreateSlotIfNeeded(I->getAliasee());
+
   // Now that all global constants have been added, rearrange constant planes
   // that contain constant strings so that the strings occur at the start of the
   // plane, not somewhere in the middle.