This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]