Messages in this thread |  | | Date | Mon, 13 Apr 2015 21:09:14 +0200 | From | Markus Trippelsdorf <> | Subject | Re: [PATCH] x86: Align jump targets to 1 byte boundaries |
| |
On 2015.04.13 at 11:31 -0700, Linus Torvalds wrote: > On Mon, Apr 13, 2015 at 10:26 AM, Markus Trippelsdorf > <markus@trippelsdorf.de> wrote: > > > > I must have made a measurement mistake above, because the actual code > > size savings are roughly 5%: > > Can you check against the -fno-guess-branch-probability output?
text data bss dec filename 8746230 970072 802816 10519118 ./vmlinux gcc-5 (lto) 9202488 978512 811008 10992008 ./vmlinux gcc-5 8036915 970296 802816 9810027 ./vmlinux gcc-5 (lto -fno-guess-branch-probability) 8593615 978512 811008 10383135 ./vmlinux gcc-5 (-fno-guess-branch-probability)
> Does lto (without pgo) perhaps end up undoing a lot of the random > "branch out and back" noise?
As Honza wrote somewhere else in this thread, gcc uses -fguess-branch-probability to get a profile estimate, that is then used throughout the whole optimization chain. So disabling this option really makes no sense and will result in significant performance loss.
On the other hand the LTO code size savings should not affect performance negatively at all.
-- Markus
|  |