This is the mail archive of the gcc-patches@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]

Re: [GOOGLE] Remove zero_edge propagation algorithm


On Fri, Nov 22, 2013 at 12:27 PM, Dehao Chen <dehao@google.com> wrote:
> This patch removes the zero_edge heuristic during profile propagation.
> The zero_edge heuristic does not seem to be effective in improving
> performance.

"not effective" here means degrading performance?

David

>
> Tested:
> Bootstrapped and passed regression test and performance test.
>
> OK for google-4_8?
>
> Thanks,
> Dehao
>
> Index: gcc/auto-profile.c
> ===================================================================
> --- gcc/auto-profile.c (revision 205232)
> +++ gcc/auto-profile.c (working copy)
> @@ -1122,7 +1122,7 @@ afdo_propagate_multi_edge (bool is_succ)
>
>    FOR_EACH_BB (bb)
>      {
> -      edge e, unknown_edge = NULL, zero_edge = NULL;
> +      edge e, unknown_edge = NULL;
>        edge_iterator ei;
>        int num_unknown_edge = 0;
>        gcov_type total_known_count = 0;
> @@ -1132,8 +1132,6 @@ afdo_propagate_multi_edge (bool is_succ)
>    FOR_EACH_EDGE (e, ei, bb->succs)
>      if ((e->flags & EDGE_ANNOTATED) == 0)
>        num_unknown_edge ++, unknown_edge = e;
> -    else if (e->count == 0)
> -      zero_edge = e;
>      else
>        total_known_count += e->count;
>   }
> @@ -1153,12 +1151,6 @@ afdo_propagate_multi_edge (bool is_succ)
>        bb->count = total_known_count;
>        changed = true;
>      }
> -  else if (zero_edge != NULL && total_known_count < bb->count
> -   && bb->loop_father && bb->loop_father->header == bb)
> -    {
> -      zero_edge->count = bb->count - total_known_count;
> -      changed = true;
> -    }
>    if ((bb->flags & BB_ANNOTATED) == 0)
>      {
>        bb->flags |= BB_ANNOTATED;


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