Index: llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp =================================================================== --- llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -171,7 +171,11 @@ if (!GV->isDefinition()) addFlag(*VariableDIE, dwarf::DW_AT_declaration); else + { + // Add location. + addLocationAttribute(VariableDIE, GV, GlobalExprs); addGlobalName(GV->getName(), *VariableDIE, DeclContext); + } if (uint32_t AlignInBytes = GV->getAlignInBytes()) addUInt(*VariableDIE, dwarf::DW_AT_alignment, dwarf::DW_FORM_udata, @@ -180,9 +184,6 @@ if (MDTuple *TP = GV->getTemplateParams()) addTemplateParams(*VariableDIE, DINodeArray(TP)); - // Add location. - addLocationAttribute(VariableDIE, GV, GlobalExprs); - return VariableDIE; }