[PATCH] D69732: [WIP][LTO] Apply SamplePGO pipeline tunes for ThinLTO pre-link to full LTO
Matthew Voss via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 5 16:42:28 PST 2019
ormris added a comment.
I've done testing with the following global parameters.
- The base for the branch is llvmorg-10-init-8655-g94a4a2c97f8
- Used llvm, clang, lld, and llvm-ar from this branch.
- The sqlite kvtest program was the test payload.
This test compared an unmodified compiler from the base of the branch with a modified compiler with this patch applied and the loop optimisation passes mentioned above moved to the backend. The results were as follows. All numbers in seconds.
| Run | Modified LTO | Modified SPGO+LTO | Unmodified SPGO+LTO |
| ---- | ------------ | ----------------- | ------------------- |
| 1 | 42.00 | 41.73 | 42.08 |
| 2 | 42.30 | 39.49 | 42.45 |
| 3 | 41.21 | 42.46 | 42.49 |
| AVG: | 41.84 | 41.23 | 42.34 |
|
TL;DR the average run using a compiler built with the modified SPGO pipeline is about a second faster. Definitely a positive initial result.
In D69732#1730732 <https://reviews.llvm.org/D69732#1730732>, @tejohnson wrote:
> This probably needs to be taken over by someone who cares about full LTO performance (@wristow or @ormris ?). This patch was some cleanup of the full LTO sample PGO pipeline, but has a number of issues I enumerate in the summary.
Given the performance improvements here, I'd like to develop this patch further.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69732/new/
https://reviews.llvm.org/D69732
More information about the cfe-commits
mailing list