]> granicus.if.org Git - llvm/commit
[ThinLTO] Subsume all importing checks into a single flag
authorTeresa Johnson <tejohnson@google.com>
Thu, 5 Jan 2017 14:32:16 +0000 (14:32 +0000)
committerTeresa Johnson <tejohnson@google.com>
Thu, 5 Jan 2017 14:32:16 +0000 (14:32 +0000)
commite4e6279a08e93646429d5d5dd95df0b5b574e865
treed1f0f7447da361ec7ad51365fa573ec27793c924
parent6bf7471dbcc6635779e6199092753712884dcf77
[ThinLTO] Subsume all importing checks into a single flag

Summary:
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.

Reviewers: mehdi_amini

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D28169

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291108 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/ModuleSummaryIndex.h
include/llvm/Transforms/Utils/FunctionImportUtils.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