This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Branch taken rate of Linux kernel compiled with GCC 4.9
- From: Alexander Monakov <amonakov at ispras dot ru>
- To: Pengfei Yuan <0xcoolypf at gmail dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 13 Jan 2015 15:44:52 +0300 (MSK)
- Subject: Re: Branch taken rate of Linux kernel compiled with GCC 4.9
- Authentication-results: sourceware.org; auth=none
- References: <CACmZjJLQK6y6+X-57BWmC9W-hfmaBe57ZVXrhqHKEUyW=WHatQ at mail dot gmail dot com>
On Tue, 13 Jan 2015, Pengfei Yuan wrote:
> I use perf with rbf88:k,rff88:k events (Haswell specific) to profile
> the taken rate of conditional branches in the kernel. Here are the
> results:
[...]
>
> The results are very strange because all the taken rates are greater
> than 50%. Why not reverse the basic block reordering heuristics to
> make them under 50%? Is there anything wrong with GCC?
Your measurement includes the conditional branches at the end of loop bodies.
When loops iterate, those branches are taken, and it doesn't make sense to
reverse them.
HTH
Alexander