Commit Graph

8 Commits

Author SHA1 Message Date
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