[PATCH] D33615: Move summary dead stripping before regular LTO and record results in the combined summary

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 31 14:28:54 PDT 2017


mehdi_amini added a comment.





================
Comment at: include/llvm/IR/ModuleSummaryIndex.h:536
 
+  /// Indicates that summary-based GlobalValue GC has run, and values with
+  /// GVFlags::Live==false are really dead. Otherwise, all values must be
----------------
Do not use "GC": let's not switch terminology between multiple places I think we used "Dead-Stripping" till now.


================
Comment at: include/llvm/IR/ModuleSummaryIndex.h:561
+    return !WithGlobalValueGc || GVS->isLive();
+  }
+
----------------
If you want to go this route of making the index explicitly modal, then `GlobalValueSummary::isLive()` should be private and the `ModuleSummaryIndex` can be friended.


================
Comment at: lib/LTO/LTO.cpp:636
+  computeDeadSymbols(ThinLTO.CombinedIndex, GUIDPreservedSymbols);
+
   // Save the status of having a regularLTO combined module, as
----------------
We reached a point where this patch is complex enough that I rather see it split between the change to make the `live` flags in the summary replacing all the sets (NFC changes) and actually moving the place where it is performed.


Repository:
  rL LLVM

https://reviews.llvm.org/D33615





More information about the llvm-commits mailing list