Index: include/llvm/LTO/LTO.h =================================================================== --- include/llvm/LTO/LTO.h +++ include/llvm/LTO/LTO.h @@ -389,16 +389,10 @@ /// The resolution for a symbol. The linker must provide a SymbolResolution for /// each global symbol based on its internal resolution of that symbol. struct SymbolResolution { - SymbolResolution() - : Prevailing(0), FinalDefinitionInLinkageUnit(0), VisibleToRegularObj(0) { - } + SymbolResolution() : Prevailing(0), VisibleToRegularObj(0) {} /// The linker has chosen this definition of the symbol. unsigned Prevailing : 1; - /// The definition of this symbol is unpreemptable at runtime and is known to - /// be in this linkage unit. - unsigned FinalDefinitionInLinkageUnit : 1; - /// The definition of this symbol is visible outside of the LTO unit. unsigned VisibleToRegularObj : 1; }; Index: lib/LTO/LTO.cpp =================================================================== --- lib/LTO/LTO.cpp +++ lib/LTO/LTO.cpp @@ -269,8 +269,6 @@ *Conf.ResolutionFile << "-r=" << Path << ',' << Sym.getName() << ','; if (Res.Prevailing) *Conf.ResolutionFile << 'p'; - if (Res.FinalDefinitionInLinkageUnit) - *Conf.ResolutionFile << 'l'; if (Res.VisibleToRegularObj) *Conf.ResolutionFile << 'x'; *Conf.ResolutionFile << '\n'; @@ -358,8 +356,6 @@ CommonRes.Size = std::max(CommonRes.Size, Sym.getCommonSize()); CommonRes.Align = std::max(CommonRes.Align, Sym.getCommonAlignment()); } - - // FIXME: use proposed local attribute for FinalDefinitionInLinkageUnit. } assert(ResI == Res.end()); Index: tools/llvm-lto2/llvm-lto2.cpp =================================================================== --- tools/llvm-lto2/llvm-lto2.cpp +++ tools/llvm-lto2/llvm-lto2.cpp @@ -126,8 +126,6 @@ for (char C : Rest) { if (C == 'p') Res.Prevailing = true; - else if (C == 'l') - Res.FinalDefinitionInLinkageUnit = true; else if (C == 'x') Res.VisibleToRegularObj = true; else