mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
4f1fd1c209
The current implementation of function internalization creats a copy of each function and replaces every use. This has the downside that the external versions of the functions will call into the internalized versions of the functions. This prevents them from being fully independent of eachother. This patch replaces the current internalization scheme with a method that creates all the copies of the functions intended to be internalized first and then replaces the uses as long as their caller is not already internalized. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106931 (cherry picked from commit adbaa39dfce7a8361d89b6a3b382fd8f50b94727) |
||
---|---|---|
.. | ||
AlwaysInliner.h | ||
Annotation2Metadata.h | ||
ArgumentPromotion.h | ||
Attributor.h | ||
BlockExtractor.h | ||
CalledValuePropagation.h | ||
ConstantMerge.h | ||
CrossDSOCFI.h | ||
DeadArgumentElimination.h | ||
ElimAvailExtern.h | ||
ForceFunctionAttrs.h | ||
FunctionAttrs.h | ||
FunctionImport.h | ||
GlobalDCE.h | ||
GlobalOpt.h | ||
GlobalSplit.h | ||
HotColdSplitting.h | ||
InferFunctionAttrs.h | ||
Inliner.h | ||
Internalize.h | ||
IROutliner.h | ||
LoopExtractor.h | ||
LowerTypeTests.h | ||
MergeFunctions.h | ||
OpenMPOpt.h | ||
PartialInlining.h | ||
PassManagerBuilder.h | ||
ProfiledCallGraph.h | ||
SampleContextTracker.h | ||
SampleProfile.h | ||
SampleProfileProbe.h | ||
SCCP.h | ||
StripDeadPrototypes.h | ||
StripSymbols.h | ||
SyntheticCountsPropagation.h | ||
ThinLTOBitcodeWriter.h | ||
WholeProgramDevirt.h |