]> granicus.if.org Git - llvm/commit
[HotColdSplit] Schedule splitting late to fix perf regression
authorVedant Kumar <vsk@apple.com>
Fri, 15 Feb 2019 18:46:44 +0000 (18:46 +0000)
committerVedant Kumar <vsk@apple.com>
Fri, 15 Feb 2019 18:46:44 +0000 (18:46 +0000)
commit45c9fb93759503cfcc46e7bc36c65cdecb50685b
treeafe2339cead950440c92cb061e98e9a69f04c36b
parent91735b456996e82a7f5d3224692e3e58cec48578
[HotColdSplit] Schedule splitting late to fix perf regression

With or without PGO data applied, splitting early in the pipeline
(either before the inliner or shortly after it) regresses performance
across SPEC variants. The cause appears to be that splitting hides
context for subsequent optimizations.

Schedule splitting late again, in effect reversing r352080, which
scheduled the splitting pass early for code size benefits (documented in
https://reviews.llvm.org/D57082).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354158 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Passes/PassBuilder.h
lib/Passes/PassBuilder.cpp
lib/Transforms/IPO/PassManagerBuilder.cpp
test/Other/X86/lto-hot-cold-split.ll
test/Other/new-pm-pgo.ll
test/Other/opt-hot-cold-split.ll
test/Other/pass-pipelines.ll