OSDN Git Service

[ThinLTO] Internalize readonly globals
authorEugene Leviant <eleviant@accesssoftek.com>
Sat, 10 Nov 2018 08:31:21 +0000 (08:31 +0000)
committerEugene Leviant <eleviant@accesssoftek.com>
Sat, 10 Nov 2018 08:31:21 +0000 (08:31 +0000)
commit10c84a8f35cae4a9fc421648d9608fccda3925f2
tree0d58cb1501f7315c4d864a3f378d7a108e83b9c0
parent01568d51f085ba06fad7f523d1faffb1c0971089
[ThinLTO] Internalize readonly globals

This patch allows internalising globals if all accesses to them
(from live functions) are from non-volatile load instructions

Differential revision: https://reviews.llvm.org/D49362

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346584 91177308-0d34-0410-b5e6-96231b3b80d8
42 files changed:
include/llvm/IR/ModuleSummaryIndex.h
include/llvm/Transforms/IPO/FunctionImport.h
include/llvm/Transforms/Utils/FunctionImportUtils.h
lib/Analysis/ModuleSummaryAnalysis.cpp
lib/AsmParser/LLParser.cpp
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/IR/ModuleSummaryIndex.cpp
lib/LTO/LTO.cpp
lib/LTO/ThinLTOCodeGenerator.cpp
lib/Linker/IRMover.cpp
lib/Transforms/IPO/FunctionImport.cpp
lib/Transforms/Utils/FunctionImportUtils.cpp
test/Bitcode/summary_version.ll
test/Bitcode/thinlto-alias.ll
test/Bitcode/thinlto-alias2.ll
test/Bitcode/thinlto-function-summary-callgraph-cast.ll
test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
test/Bitcode/thinlto-function-summary-callgraph.ll
test/Bitcode/thinlto-function-summary-refgraph.ll
test/ThinLTO/X86/Inputs/index-const-prop-alias.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop-comdat.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop-define-g.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop-full-lto.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop-gvref.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop-linkage.ll [new file with mode: 0644]
test/ThinLTO/X86/Inputs/index-const-prop.ll [new file with mode: 0644]
test/ThinLTO/X86/dot-dumper.ll
test/ThinLTO/X86/globals-import-const-fold.ll
test/ThinLTO/X86/index-const-prop-O0.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-alias.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-comdat.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-dead.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-full-lto.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-gvref.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-ldst.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop-linkage.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop.ll [new file with mode: 0644]
test/ThinLTO/X86/index-const-prop2.ll [new file with mode: 0644]