This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Remove -freorder-blocks-and-partition
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Xinliang David Li <davidxl at google dot com>
- Cc: Paolo Bonzini <bonzini at gnu dot org>, Richard Henderson <rth at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Wed, 3 Aug 2011 23:06:14 +0200
- Subject: Re: [RFC] Remove -freorder-blocks-and-partition
- References: <4E25F810.6050904@redhat.com> <CAAkRFZJHvze3gyd6xxLV3KVeDsgfacA-AV-gL6TkvOFYey4f=g@mail.gmail.com> <4E2D4425.9040104@gnu.org> <CAAkRFZLK8GsbVAbproRrfSF4ZwL-c3uhReMnVQwGW9bsWCww7A@mail.gmail.com>
> In xalancbmk, with the partition option, most of object files have
> nonzero size cold sections generated. The text size of the binary is
> increased to 3572728 bytes from 3466790 bytes. Profiling the program
> using the training input shows the following differences. With
> partitioning, number of executed branch instructions slightly
> increases, but itlb misses and icache load misses are significantly
> lower compared with the binary without partitioning.
>
>
> David
>
> With partition:
> -----------------
> 53654937239 branches
> 306751458 L1-icache-load-misses
> 8146112 iTLB-load-misses
Note that I was also planning for some time to introduce notion of provably cold
stuff into our branch prediction heurstics. I.e. code leading to aborts, eh etc
that can be then offlined even w/o profile feedback and could perhaps help
to large apps.
(also the whole pass should be more effective with larger testcases, SPEC2k6 is slowly
becoming a small one)
Honza