http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58862

--- Comment #27 from tejohnson at gcc dot gnu.org ---
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  <tejohn...@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  <tejohn...@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  <tejohn...@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  <tejohn...@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  <tejohn...@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  <tejohn...@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  <tejohn...@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  <tejohn...@google.com>
        Jan Hubicka  <j...@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  <tejohn...@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  <tejohn...@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  <tejohn...@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

Reply via email to