1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm/Transforms/IPO
Teresa Johnson 759814f8e1 [ThinLTO] Enable importing of aliases as copy of aliasee
Summary:
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.

Reviewers: pcc

Subscribers: mehdi_amini, inglorion, eraman, llvm-commits

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

llvm-svn: 320895
2017-12-16 00:18:12 +00:00
..
AlwaysInliner.h [PM] Port the always inliner to the new pass manager in a much more 2016-08-17 02:56:20 +00:00
ArgumentPromotion.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
CalledValuePropagation.h Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
ConstantMerge.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
CrossDSOCFI.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
DeadArgumentElimination.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
ElimAvailExtern.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
ForceFunctionAttrs.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
FunctionAttrs.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
FunctionImport.h [ThinLTO] Enable importing of aliases as copy of aliasee 2017-12-16 00:18:12 +00:00
GlobalDCE.h [GlobalDCE] Use DenseMap instead of unordered_multimap for GVDependencies. 2017-10-17 23:47:06 +00:00
GlobalOpt.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
GlobalSplit.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
InferFunctionAttrs.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
Inliner.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
Internalize.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
LowerTypeTests.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-19 21:21:30 +00:00
PartialInlining.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-10 22:49:55 +00:00
PassManagerBuilder.h Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
SCCP.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-27 01:09:08 +00:00
StripDeadPrototypes.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
ThinLTOBitcodeWriter.h [ThinLTO] Migrate ThinLTOBitcodeWriter to the new PM. 2017-06-01 01:02:12 +00:00
WholeProgramDevirt.h WholeProgramDevirt: fix access to a non-initialized field. 2016-08-12 00:07:14 +00:00