diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp index 9dfc45676dfb..7f1ec1ac348f 100644 --- a/llvm/tools/lto/lto.cpp +++ b/llvm/tools/lto/lto.cpp @@ -93,6 +93,9 @@ findExternalRefs(Value *value, std::set &references, if (lt != LTOInternalLinkage && strncmp (gv->getName().c_str(), "llvm.", 5)) references.insert(mangler.getValueName(gv)); } + + // GlobalValue, even with InternalLinkage type, may have operands with + // ExternalLinkage type. Do not ignore these operands. if (Constant *c = dyn_cast(value)) // Handle ConstantExpr, ConstantStruct, ConstantArry etc.. for (unsigned i = 0, e = c->getNumOperands(); i != e; ++i)