1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/Transforms/IPO
Dehao Chen 1cf0d1a0bd Refine instruction weight annotation algorithm for sample profiler.
Summary:
This patch refined the instruction weight anootation algorithm:
1. Do not use dbg_value intrinsics for annotation.
2. Annotate cold calls if the call is inlined in profile, but not inlined before preparation. This indicates that the annotation preparation step found no sample for the inlined callsite, thus the call should be very cold.

Reviewers: dnovillo, davidxl

Subscribers: mgrang, llvm-commits

Differential Revision: http://reviews.llvm.org/D19286

llvm-svn: 266936
2016-04-20 23:36:23 +00:00
..
ArgumentPromotion.cpp [AA] Hoist the logic to reformulate various AA queries in terms of other 2016-03-02 15:56:53 +00:00
BarrierNoopPass.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CMakeLists.txt WholeProgramDevirt: introduce. 2016-02-09 22:50:34 +00:00
ConstantMerge.cpp IPO: Remove implicit ilist iterator conversions, NFC 2015-10-13 17:51:03 +00:00
CrossDSOCFI.cpp [cfi] Cross-DSO CFI diagnostic mode (LLVM part). 2016-01-25 23:35:03 +00:00
DeadArgumentElimination.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ElimAvailExtern.cpp Disallow aliases to available_externally. 2015-11-26 19:22:59 +00:00
ExtractGV.cpp GlobalValue: use getValueType() instead of getType()->getPointerElementType(). 2016-01-16 20:30:46 +00:00
ForceFunctionAttrs.cpp Fix option desc in FunctionAttrs; NFC 2016-01-06 18:18:16 +00:00
FunctionAttrs.cpp Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
FunctionImport.cpp FunctionImport: make sure we always select the right callee in presence of alias 2016-04-20 04:17:36 +00:00
GlobalDCE.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
GlobalOpt.cpp [ThinLTO] Prevent importing of "llvm.used" values 2016-04-20 14:39:45 +00:00
InferFunctionAttrs.cpp [NVPTX] Infer __nvvm_reflect as nounwind, readnone 2016-03-31 21:29:57 +00:00
InlineAlways.cpp Refactor threshold computation for inline cost analysis 2016-01-14 23:16:29 +00:00
Inliner.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
InlineSimple.cpp Make InlineSimple's one-arg constructor explicit. NFC 2016-03-29 16:26:06 +00:00
Internalize.cpp [ThinLTO] Prevent importing of "llvm.used" values 2016-04-20 14:39:45 +00:00
IPConstantPropagation.cpp Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
IPO.cpp Refactor Internalization pass to use as a callback instead of a StringSet (NFC) 2016-04-13 04:20:32 +00:00
LLVMBuild.txt [PGO] Passmanagerbuilder change that enable IR level PGO instrumentation 2016-01-21 18:28:59 +00:00
LoopExtractor.cpp LoopInfo: Simplify ownership of Loop objects 2016-01-08 19:08:53 +00:00
LowerBitSets.cpp [cfi] Support explicit sections for functions in cfi-icall. 2016-04-15 22:55:38 +00:00
MergeFunctions.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
PartialInlining.cpp IPO: Remove implicit ilist iterator conversions, NFC 2015-10-13 17:51:03 +00:00
PassManagerBuilder.cpp Port InstrProfiling pass to the new pass manager 2016-04-18 17:47:38 +00:00
PruneEH.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SampleProfile.cpp Refine instruction weight annotation algorithm for sample profiler. 2016-04-20 23:36:23 +00:00
StripDeadPrototypes.cpp [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
StripSymbols.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
WholeProgramDevirt.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00