diff options
author | Dehao Chen <dehao@google.com> | 2017-07-07 20:53:10 +0000 |
---|---|---|
committer | Dehao Chen <dehao@google.com> | 2017-07-07 20:53:10 +0000 |
commit | 3a9861420cec131c6d87dbd73a4ecadb3107eb7f (patch) | |
tree | a099af04eb580f48dad0c57e7400049688c4b71a /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | 3a11fdf8ce5099db375c0f0f2c210818013429a5 (diff) | |
download | llvm-3a9861420cec131c6d87dbd73a4ecadb3107eb7f.zip llvm-3a9861420cec131c6d87dbd73a4ecadb3107eb7f.tar.gz llvm-3a9861420cec131c6d87dbd73a4ecadb3107eb7f.tar.bz2 |
Add sample PGO support to ThinLTO new pass manager.
Summary:
For SamplePGO + ThinLTO, because profile annotation is done twice at both PrepareForThinLTO pipeline and backend compiler, the following changes are needed at the PrepareForThinLTO phase to ensure the IR is not changed dramatically. Otherwise the profile annotation will be inaccurate in the backend compiler.
* disable hot-caller heuristic
* disable loop unrolling
* disable indirect call promotion
This will unblock the new PM testing for sample PGO (tools/clang/test/CodeGen/pgo-sample-thinlto-summary.c), which will be covered in another cfe patch.
Reviewers: chandlerc, tejohnson, davidxl
Reviewed By: tejohnson
Subscribers: sanjoy, mehdi_amini, Prazek, inglorion, llvm-commits
Differential Revision: https://reviews.llvm.org/D34895
llvm-svn: 307437
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions