[PATCH] D23488: ThinLTO: add early "dead-stripping" on the Index

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 13:39:43 PST 2016


tejohnson updated this revision to Diff 81995.
tejohnson removed a subscriber: pcc.
tejohnson added a comment.

Updated patch.
All invocations of IsExported should check that:

  (!DeadSymbols.count(GUID) && ExportedGUIDs.count(GUID))

I had earlier suggested that we only needed to check that !DeadSymbols,
but this is wrong and was detected when I fixed the llvm-lto2 based
test (which was previously not actually checking the output).
I also updated the IsExported lambdas in ThinLTOCodeGenerator.cpp
to use the same test, so that DeadSymbols are filtered out, otherwise
the benefit would not be seen there.

There are still correctness issues, which I will send an update on shortly.


https://reviews.llvm.org/D23488

Files:
  include/llvm/IR/ModuleSummaryIndex.h
  include/llvm/LTO/LTO.h
  include/llvm/Transforms/IPO/FunctionImport.h
  lib/LTO/LTO.cpp
  lib/LTO/ThinLTOCodeGenerator.cpp
  lib/Transforms/IPO/FunctionImport.cpp
  test/ThinLTO/X86/Inputs/deadstrip.ll
  test/ThinLTO/X86/deadstrip.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23488.81995.patch
Type: text/x-patch
Size: 18302 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161219/b1a05f7c/attachment.bin>


More information about the llvm-commits mailing list