[PATCH] D28169: [ThinLTO] Subsume all importing checks into a single flag

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 29 16:26:25 PST 2016


tejohnson created this revision.
tejohnson added a reviewer: mehdi_amini.
tejohnson added a subscriber: llvm-commits.

This adds a new summary flag NotEligibleToImport that subsumes
several existing flags (NoRename, HasInlineAsmMaybeReferencingInternal
and IsNotViableToInline). It also subsumes the checking of references
on the summary that was being done during the thin link by
eligibleForImport() for each candidate. It is much more efficient to
do that checking once during the per-module summary build and record
it in the summary.

I wonder whether test/ThinLTO/X86/autoupgrade.ll and
test/ThinLTO/X86/drop-debug-info.ll should be removed, since we
now must conservatively not import anything defined by an old
version of the bitcode?


https://reviews.llvm.org/D28169

Files:
  include/llvm/IR/ModuleSummaryIndex.h
  lib/Analysis/ModuleSummaryAnalysis.cpp
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/Transforms/IPO/FunctionImport.cpp
  lib/Transforms/Utils/FunctionImportUtils.cpp
  test/Bitcode/summary_version.ll
  test/Bitcode/thinlto-function-summary.ll
  test/Bitcode/thinlto-summary-section.ll
  test/ThinLTO/X86/autoupgrade.ll
  test/ThinLTO/X86/drop-debug-info.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28169.82706.patch
Type: text/x-patch
Size: 22960 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161230/ed0d32a6/attachment.bin>


More information about the llvm-commits mailing list