1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib/Transforms/IPO
Teresa Johnson 4e8f623913 [ThinLTO] Fix dead stripping analysis for SamplePGO
Summary:
The fix for dead stripping analysis in the case of SamplePGO indirect
calls to local functions (r313151) introduced the possibility of an
infinite loop.

Make sure we check for the value being already live after we update it
for SamplePGO indirect call handling.

Reviewers: danielcdh

Subscribers: mehdi_amini, inglorion, llvm-commits, eraman

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

llvm-svn: 313766
2017-09-20 17:09:47 +00:00
..
AlwaysInliner.cpp [PM] Teach the always inliner in the new pass manager to support 2016-12-26 23:43:27 +00:00
ArgumentPromotion.cpp [ArgPromotion] Preserve alignment of byval argument in new alloca 2017-08-04 17:09:11 +00:00
BarrierNoopPass.cpp
CMakeLists.txt
ConstantMerge.cpp Don't merge global constants with non-dbg metadata. 2017-03-09 00:03:37 +00:00
CrossDSOCFI.cpp [cfi] Fixed non-determinism in codegen due to DenseSet iteration order 2017-08-30 04:47:21 +00:00
DeadArgumentElimination.cpp [DAE] Simplify attribute list creation, NFC 2017-04-19 23:45:45 +00:00
ElimAvailExtern.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ExtractGV.cpp [ExtractGV] Fix the doxygen comment on the constructor and the class to refer to global values instead of functions. While there fix an 80 column violation. NFC 2017-06-08 23:38:19 +00:00
ForceFunctionAttrs.cpp Add strictfp attribute to prevent unwanted optimizations of libm calls 2017-08-14 21:15:13 +00:00
FunctionAttrs.cpp Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
FunctionImport.cpp [ThinLTO] Fix dead stripping analysis for SamplePGO 2017-09-20 17:09:47 +00:00
GlobalDCE.cpp Global DCE performance improvement 2017-01-27 19:48:57 +00:00
GlobalOpt.cpp Revert r312318, r312325, r312424, r312489 2017-09-07 23:20:35 +00:00
GlobalSplit.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
InferFunctionAttrs.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Inliner.cpp Allow ORE.emit to take a closure to delay building the remark object 2017-09-19 23:00:55 +00:00
InlineSimple.cpp [Inliner] Only compute fully inline cost when remarks are enabled. 2017-08-25 22:01:42 +00:00
Internalize.cpp
IPConstantPropagation.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
IPO.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
LLVMBuild.txt IPO: Add missing build dep. 2017-05-01 20:57:20 +00:00
LoopExtractor.cpp [LoopInfo] Make LoopBase and Loop destructors non-public 2017-09-19 23:19:00 +00:00
LowerTypeTests.cpp Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. 2017-09-14 05:02:59 +00:00
MergeFunctions.cpp [MergeFunctions] Remove alias support. 2017-07-27 19:36:13 +00:00
PartialInlining.cpp Sink some IntrinsicInst.h and Intrinsics.h out of llvm/include 2017-09-07 23:27:44 +00:00
PassManagerBuilder.cpp [DivRempairs] add a pass to optimize div/rem pairs (PR31028) 2017-09-09 13:38:18 +00:00
PruneEH.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SampleProfile.cpp Import all inlined indirect call targets for SamplePGO. 2017-09-19 21:18:14 +00:00
StripDeadPrototypes.cpp
StripSymbols.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ThinLTOBitcodeWriter.cpp ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
WholeProgramDevirt.cpp WholeProgramDevirt: Add import/export support for targets without absolute symbol constants. 2017-09-11 22:34:42 +00:00