[PATCH] D40747: [ThinLTO] Enable importing of aliases as copy of aliasee
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 1 13:03:45 PST 2017
tejohnson created this revision.
Herald added subscribers: eraman, inglorion, mehdi_amini.
This implements a missing feature to allow importing of aliases, which
was previously disabled because alias cannot be available_externally.
We instead import an alias as a copy of its aliasee.
Some additional work was required in the IndexBitcodeWriter for the
distributed build case, to ensure that the aliasee has a value id
in the distributed index file (i.e. even when it is not being
imported directly).
This is a performance win in codes that have many aliases, e.g. C++
applications that have many constructor and destructor aliases.
https://reviews.llvm.org/D40747
Files:
include/llvm/IR/ModuleSummaryIndex.h
include/llvm/IR/Value.h
include/llvm/Transforms/IPO/FunctionImport.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/IR/Value.cpp
lib/Transforms/IPO/FunctionImport.cpp
test/ThinLTO/X86/Inputs/distributed_import.ll
test/ThinLTO/X86/Inputs/distributed_indexes.ll
test/ThinLTO/X86/alias_import.ll
test/ThinLTO/X86/distributed_import.ll
test/ThinLTO/X86/distributed_indexes.ll
test/ThinLTO/X86/funcimport.ll
test/Transforms/FunctionImport/funcimport.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40747.125202.patch
Type: text/x-patch
Size: 28856 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171201/b48c38af/attachment.bin>
More information about the llvm-commits
mailing list