llvm-project/llvm/lib/Transforms/IPO
Mehdi Amini 31407ba009 Tweak the ThinLTO pass pipeline
Summary:
The original ThinLTO pipeline was derived from some
work I did tuning FullLTO on the test suite and SPEC. This
patch reduces the amount of work done in the "linker phase" of
the build, and extend the function simplifications passes
performed during the "compile phase". This helps the build time
by reducing the IR as much as possible during the compile phase
and limiting the work to be performed during the "link phase",
while keeping the performance "on par" with the existing pipeline.

Reviewers: tejohnson

Subscribers: llvm-commits, joker.eph

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

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 268769
2016-05-06 18:17:03 +00:00
..
ArgumentPromotion.cpp [ArgumentPromotion] Propagate operand bundles to promoted call sites 2016-04-29 04:56:12 +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 [PM] Port ConstantMerge to the new pass manager. 2016-05-05 00:51:09 +00:00
CrossDSOCFI.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
DeadArgumentElimination.cpp [DeadArgumentElimination] Propagate operand bundles to promoted call sites 2016-04-29 07:22:36 +00:00
ElimAvailExtern.cpp [PM] Port EliminateAvailableExternally pass to the new pass manager. 2016-05-05 02:37:32 +00:00
ExtractGV.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
ForceFunctionAttrs.cpp Fix option desc in FunctionAttrs; NFC 2016-01-06 18:18:16 +00:00
FunctionAttrs.cpp ReversePostOrderFunctionAttrs is not modifying the call graph, let's preserve it. 2016-05-02 18:03:33 +00:00
FunctionImport.cpp Revert "[ThinLTO] Emit individual index files for distributed backends" 2016-05-05 18:31:00 +00:00
GlobalDCE.cpp [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
GlobalOpt.cpp [GlobalOpt] Propagate operand bundles 2016-04-29 08:07:22 +00:00
IPConstantPropagation.cpp [IPO/IPCP] Convert to use static functions. NFC. 2016-05-03 20:08:24 +00:00
IPO.cpp [PM] Port EliminateAvailableExternally pass to the new pass manager. 2016-05-05 02:37:32 +00:00
InferFunctionAttrs.cpp [TLI] Unify LibFunc attribute inference. NFCI. 2016-04-27 19:04:40 +00:00
InlineAlways.cpp Refactor threshold computation for inline cost analysis 2016-01-14 23:16:29 +00:00
InlineSimple.cpp Make InlineSimple's one-arg constructor explicit. NFC 2016-03-29 16:26:06 +00:00
Inliner.cpp Reapply r268107 after fixing a bug breaks debug build. 2016-04-29 22:59:36 +00:00
Internalize.cpp PM: Port Internalize to the new pass manager 2016-04-26 20:15:52 +00:00
LLVMBuild.txt [PGO] Passmanagerbuilder change that enable IR level PGO instrumentation 2016-01-21 18:28:59 +00:00
LoopExtractor.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LowerBitSets.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
MergeFunctions.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PartialInlining.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PassManagerBuilder.cpp Tweak the ThinLTO pass pipeline 2016-05-06 18:17:03 +00:00
PruneEH.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
SampleProfile.cpp Do not read callee name when matching IR to profile as it is not used. 2016-04-29 17:19:10 +00:00
StripDeadPrototypes.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
StripSymbols.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
WholeProgramDevirt.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00