Index: lib/CodeGen/GlobalMerge.cpp =================================================================== --- lib/CodeGen/GlobalMerge.cpp +++ lib/CodeGen/GlobalMerge.cpp @@ -616,8 +616,8 @@ if (TM && !TM->shouldAssumeDSOLocal(M, &GV)) continue; - if (!(MergeExternalGlobals && GV.hasExternalLinkage()) && - !GV.hasInternalLinkage()) + if (!(MergeExternalGlobals && GV.hasExternalLinkage())&& + !GV.hasInternalLinkage() && !GV.hasCommonLinkage()) continue; PointerType *PT = dyn_cast(GV.getType());