This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r212244 - in /branches/google/gcc-4_9/gcc: auto...
- From: ahyangyi2 at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 02 Jul 2014 21:45:22 -0000
- Subject: r212244 - in /branches/google/gcc-4_9/gcc: auto...
Author: ahyangyi2
Date: Wed Jul 2 21:45:21 2014
New Revision: 212244
URL: https://gcc.gnu.org/viewcvs?rev=212244&root=gcc&view=rev
Log:
Report the difference between profiled and guessed or annotated branch
probabilities.
For each branch, add a record about it in an elf section called
".gnu.switches.text.branch.annotation".
gcc/
2014-07-02 Yi Yang <ahyangyi@google.com>
* auto-profile.c (get_locus_information)
(record_branch_prediction_results, afdo_calculate_branch_prob)
(afdo_annotate_cfg): Main comparison and reporting logic.
* cfg-flags.def (PREDICTED_BY_EXPECT): Add an extra flag representing
an edge's probability is predicted by annotations.
* predict.c (combine_predictions_for_bb): Set up the extra flag on an
edge when appropriate.
* common.opt (fcheck-branch-annotation)
(fcheck-branch-annotation-threshold=): Add an extra GCC option to turn
on report.
* cfgrtl.c (rtl_verify_edges): Add FLAG_PREDICTED_BY_EXPECT to
exclusion list when counting branches.
Modified:
branches/google/gcc-4_9/gcc/auto-profile.c
branches/google/gcc-4_9/gcc/cfg-flags.def
branches/google/gcc-4_9/gcc/cfgrtl.c
branches/google/gcc-4_9/gcc/common.opt
branches/google/gcc-4_9/gcc/doc/invoke.texi
branches/google/gcc-4_9/gcc/predict.c