[PATCH] D23940: Delete dead code

Rafael Ávila de Espíndola via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 26 12:35:55 PDT 2016


rafael created this revision.
rafael added reviewers: tejohnson, pcc.
rafael added a subscriber: llvm-commits.
Herald added a subscriber: mehdi_amini.

While support for explicit preemption in the llvm IR would use something like this, it can be a long support before such support is added. Before that happens this is dead code and should probably be deleted.


https://reviews.llvm.org/D23940

Files:
  include/llvm/LTO/LTO.h
  lib/LTO/LTO.cpp
  tools/llvm-lto2/llvm-lto2.cpp

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
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: 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;
 };


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23940.69421.patch
Type: text/x-patch
Size: 2086 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160826/83d6dcb6/attachment.bin>


More information about the llvm-commits mailing list