Make it explicit that GlobalAlias are ok in llvm.used.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 27 May 2013 22:47:09 +0000 (22:47 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 27 May 2013 22:47:09 +0000 (22:47 +0000)
No functionality change.

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

lib/IR/Verifier.cpp

index a94c1566a207d2ab61cbca6247ab203277b383db..41364b2e6a45c654bc214b1aaa9fc3b79a72e571 100644 (file)
@@ -463,11 +463,10 @@ void Verifier::visitGlobalVariable(GlobalVariable &GV) {
         Assert1(InitArray, "wrong initalizer for intrinsic global variable",
                 Init);
         for (unsigned i = 0, e = InitArray->getNumOperands(); i != e; ++i) {
-          Value *V = Init->getOperand(i)->stripPointerCasts();
-          // stripPointerCasts strips aliases, so we only need to check for
-          // variables and functions.
-          Assert1(isa<GlobalVariable>(V) || isa<Function>(V),
-                  "invalid llvm.used member", V);
+          Value *V = Init->getOperand(i)->stripPointerCastsNoFollowAliases();
+          Assert1(
+              isa<GlobalVariable>(V) || isa<Function>(V) || isa<GlobalAlias>(V),
+              "invalid llvm.used member", V);
         }
       }
     }