Commit Graph

11 Commits

Author SHA1 Message Date
Martin Liska
d1b9a5724b Fix usage of analyze_brprob.py script.
2018-01-19  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Support new format that can be easily
	parsed. Add new column to report.
2018-01-19  Martin Liska  <mliska@suse.cz>

	* predict.c (dump_prediction): Add new format for
	analyze_brprob.py script which is enabled with -details
	suboption.
	* profile-count.h (precise_p): New function.

From-SVN: r256886
2018-01-19 12:03:24 +00:00
Martin Liska
caba2b36fa analyze_brprob.py: fix SI units
2017-11-08  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Fix abbreviations for SI units.

From-SVN: r254517
2017-11-08 07:24:14 +00:00
Martin Liska
59075bc808 Compare predictor values with these defined in predict.def.
2017-05-30  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Add new argument to parse and modify
	predict.def file.
	* analyze_brprob_spec.py: Likewise.

From-SVN: r248600
2017-05-30 07:16:31 +00:00
Martin Liska
ca3b607159 Enhance analyze_brprob script
* analyze_brprob.py: Add new column to output and new sorting
	option. Fix coding style to not exceed 80 characters.
	* analyze_brprob_spec.py: Add new sorting
	option. Fix coding style to not exceed 80 characters.

From-SVN: r243640
2016-12-14 10:30:24 +00:00
Martin Liska
88617fe425 Do not divide by zero in analyze_brprob.py
* analyze_brprob.py: If there's no loop, do not calculate
	average number of loop iterations.

From-SVN: r238590
2016-07-21 12:53:24 +00:00
Martin Liska
199b1891cb Dump profile-based number of iterations
* analyze_brprob.py: Parse and display average number
	of loop iterations.
	* cfgloop.c (flow_loop_dump): Dump average number of loop iterations.
	* cfgloop.h: Change 'struct loop' to 'const struct loop' for a
	few functions.
	* cfgloopanal.c (expected_loop_iterations_unbounded): Set a new
	argument to true if the expected number of iterations is
	loop-based.

From-SVN: r237762
2016-06-24 16:22:44 +00:00
Martin Liska
69071d86fc Change PRED_LOOP_EXIT from 92 to 85.
* analyze_brprob.py: Fix columns of script output.
	* predict.def: PRED_LOOP_EXIT from 92 to 85.
	* gcc.dg/predict-9.c: Fix dump scanning.

From-SVN: r237556
2016-06-17 14:28:57 +00:00
Martin Liska
0d73e4800d Add sorting support to analyze_brprob script
* analyze_brprob.py: Add new argument --sorting.

From-SVN: r237256
2016-06-09 11:38:23 +00:00
Martin Liska
e49efc14a1 Add edge predictions pruning
* analyze_brprob.py: Cover new dump output format.
	* predict.c (dump_prediction): Add new argument.
	(enum predictor_reason): New enum.
	(struct predictor_hash): New struct.
	(predictor_hash::hash): New function.
	(predictor_hash::equal): Likewise.
	(not_removed_prediction_p): New function.
	(prune_predictions_for_bb): Likewise.
	(combine_predictions_for_bb): Prune predictions.
	* g++.dg/predict-loop-exit-1.C: Scan for a new dump format.
	* g++.dg/predict-loop-exit-2.C: Likewise.
	* g++.dg/predict-loop-exit-3.C: Likewise.
	* gcc.dg/predict-1.c: Likewise.
	* gcc.dg/predict-2.c: Likewise.
	* gcc.dg/predict-3.c: Likewise.
	* gcc.dg/predict-4.c: Likewise.
	* gcc.dg/predict-5.c: Likewise.
	* gcc.dg/predict-6.c: Likewise.
	* gcc.dg/predict-7.c: Likewise.

From-SVN: r237255
2016-06-09 11:37:41 +00:00
Martin Liska
4efae2d63f Make analyze_brprob.py executable.
From-SVN: r236911
2016-05-31 08:52:31 +00:00
Martin Liska
4877829bff Replace AWK script with the python script.
* analyze_brprob: Remove.
	* analyze_brprob.py: New file.

From-SVN: r235560
2016-04-28 12:02:37 +00:00