Clarify that llvm.used can contain aliases.
[oota-llvm.git] / lib / Transforms / IPO / ConstantMerge.cpp
index 8336d3ad3479540adb3e02787523911ba524e48d..b63495b9685fd93b1c178c631a223c0044fe8bac 100644 (file)
@@ -66,9 +66,8 @@ ModulePass *llvm::createConstantMergePass() { return new ConstantMerge(); }
 static void FindUsedValues(GlobalVariable *LLVMUsed,
                            SmallPtrSet<const GlobalValue*, 8> &UsedValues) {
   if (LLVMUsed == 0) return;
-  ConstantArray *Inits = dyn_cast<ConstantArray>(LLVMUsed->getInitializer());
-  if (Inits == 0) return;
-  
+  ConstantArray *Inits = cast<ConstantArray>(LLVMUsed->getInitializer());
+
   for (unsigned i = 0, e = Inits->getNumOperands(); i != e; ++i)
     if (GlobalValue *GV = 
         dyn_cast<GlobalValue>(Inits->getOperand(i)->stripPointerCasts()))