r205378 - in /branches/google/gcc-4_8/gcc: basi...
tejohnson@gcc.gnu.org
tejohnson@gcc.gnu.org
Tue Nov 26 03:48:00 GMT 2013
Author: tejohnson
Date: Tue Nov 26 03:48:06 2013
New Revision: 205378
URL: http://gcc.gnu.org/viewcvs?rev=205378&root=gcc&view=rev
Log:
Backport a variety of profile maintanance fixes from trunk to google/4_8:
r203041 r203126 r203152 r203395 r203823 r203830 r204178 r204704 r204756
r197595 198416 202128
------------------------------------------------------------------------
r203041 | law | 2013-09-30 13:09:25 -0700 (Mon, 30 Sep 2013) | 7 lines
2013-09-30 Teresa Johnson <tejohnson@google.com>
* tree-ssa-threadupdate.c (ssa_fix_duplicate_block_edges):
Update redirected out edge count in joiner case.
(ssa_redirect_edges): Common the joiner and non-joiner cases
so that joiner case gets profile updates.
------------------------------------------------------------------------
------------------------------------------------------------------------
r203126 | tejohnson | 2013-10-02 12:18:17 -0700 (Wed, 02 Oct 2013) | 18 lines
2013-10-02 Teresa Johnson <tejohnson@google.com>
* dojump.c (do_jump_1): Divide probability between
both conditions of a TRUTH_ORIF_EXPR.
------------------------------------------------------------------------
------------------------------------------------------------------------
r203152 | tejohnson | 2013-10-02 22:06:05 -0700 (Wed, 02 Oct 2013) | 8 lines
2013-10-02 Teresa Johnson <tejohnson@google.com>
* predict.c (probably_never_executed): New function.
(probably_never_executed_bb_p): Invoke probably_never_executed.
(probably_never_executed_edge_p): Ditto.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Treat profile insanities conservatively.
------------------------------------------------------------------------
------------------------------------------------------------------------
r203395 | tejohnson | 2013-10-10 13:30:08 -0700 (Thu, 10 Oct 2013) | 9 lines
2013-10-10 Teresa Johnson <tejohnson@google.com>
* predict.c (tree_estimate_probability): Add new parameter
for estimate_bb_frequencies.
(estimate_bb_frequencies): Add new parameter to force estimation.
(rebuild_frequencies): When max frequency in function is small,
recompute counts from frequencies.
* predict.h (estimate_bb_frequencies): New parameter.
------------------------------------------------------------------------
------------------------------------------------------------------------
r203823 | tejohnson | 2013-10-18 07:36:53 -0700 (Fri, 18 Oct 2013) | 5 lines
2013-10-18 Teresa Johnson <tejohnson@google.com>
* tree-ssa-tail-merge.c (replace_block_by): Update edge
weights during merging.
------------------------------------------------------------------------
------------------------------------------------------------------------
r203830 | tejohnson | 2013-10-18 10:25:44 -0700 (Fri, 18 Oct 2013) | 6 lines
2013-10-18 Teresa Johnson <tejohnson@google.com>
* predict.c (probably_never_executed): Compare frequency-based
count to number of training runs.
* params.def (UNLIKELY_BB_COUNT_FRACTION): New parameter.
------------------------------------------------------------------------
------------------------------------------------------------------------
r204178 | tejohnson | 2013-10-29 13:39:49 -0700 (Tue, 29 Oct 2013) | 6 lines
2013-10-29 Teresa Johnson <tejohnson@google.com>
PR ipa/58862
* tree-ssa-tail-merge.c (replace_block_by): Tolerate profile
insanities when updating probabilities.
------------------------------------------------------------------------
------------------------------------------------------------------------
r204704 | tejohnson | 2013-11-12 07:03:28 -0800 (Tue, 12 Nov 2013) | 12 lines
2013-11-12 Teresa Johnson <tejohnson@google.com>
Jan Hubicka <jh@suse.cz>
* predict.c (drop_profile): New function.
(handle_missing_profiles): Ditto.
(counts_to_freqs): Don't overwrite estimated frequencies
when function has no profile counts.
* predict.h (handle_missing_profiles): Declare.
* tree-inline.c (freqs_to_counts): New function.
(copy_cfg_body): Invoke freqs_to_counts as needed.
* tree-profile.c (tree_profiling): Invoke handle_missing_profiles.
------------------------------------------------------------------------
------------------------------------------------------------------------
r204756 | tejohnson | 2013-11-13 13:51:44 -0800 (Wed, 13 Nov 2013) | 6 lines
2013-11-13 Teresa Johnson <tejohnson@google.com>
PR ipa/58862
* predict.c (drop_profile): Error is currently too strict.
(handle_missing_profiles): Pass call_count to drop_profile.
------------------------------------------------------------------------
------------------------------------------------------------------------
r197595 | tejohnson | 2013-04-08 10:39:10 -0700 (Mon, 08 Apr 2013) | 60 lines
2013-04-08 Teresa Johnson <tejohnson@google.com>
* basic-block.h (GCOV_COMPUTE_SCALE): Define.
------------------------------------------------------------------------
------------------------------------------------------------------------
r198416 | tejohnson | 2013-04-29 06:22:46 -0700 (Mon, 29 Apr 2013) | 25 lines
2013-04-29 Teresa Johnson <tejohnson@google.com>
* basic-block.h (apply_scale): New function.
(apply_probability): Use apply_scale.
------------------------------------------------------------------------
------------------------------------------------------------------------
r202128 | hubicka | 2013-08-31 06:32:31 -0700 (Sat, 31 Aug 2013) | 2 lines
* basic-block.h (apply_scale): Make scale parmeter gcov_type.
------------------------------------------------------------------------
Modified:
branches/google/gcc-4_8/gcc/basic-block.h
branches/google/gcc-4_8/gcc/bb-reorder.c
branches/google/gcc-4_8/gcc/dojump.c
branches/google/gcc-4_8/gcc/params.def
branches/google/gcc-4_8/gcc/predict.c
branches/google/gcc-4_8/gcc/predict.h
branches/google/gcc-4_8/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-3.c
branches/google/gcc-4_8/gcc/tree-inline.c
branches/google/gcc-4_8/gcc/tree-profile.c
branches/google/gcc-4_8/gcc/tree-ssa-tail-merge.c
branches/google/gcc-4_8/gcc/tree-ssa-threadupdate.c
More information about the Gcc-cvs
mailing list