Andrea Corallo <andrea.cora...@arm.com> writes:
> Hi Richard,
>
> this reverts the discussed patch and adds what was suggested as a
> comment.
>
> Apologies for the inconvenience, okay for trunk?

OK, thanks!  And sorry for not commenting/documenting this very well.

Richard

>
> Thanks
>
>   Andrea
>
> From 84dfa2d461692f445f45b3c3498f9bedba5c3848 Mon Sep 17 00:00:00 2001
> From: Andrea Corallo <andrea.cora...@arm.com>
> Date: Mon, 7 Sep 2020 13:45:47 +0100
> Subject: [PATCH] vec: Revert "dead code removal in tree-vect-loop.c" and add a
>  comment.
>
> gcc/ChangeLog
>
> 2020-09-07  Andrea Corallo  <andrea.cora...@arm.com>
>
>       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Revert
>       dead-code removal introduced by 09fa6acd8d9 + add a comment to
>       clarify.
> ---
>  gcc/tree-vect-loop.c | 17 +++++++++++++----
>  1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
> index 9a82573604b..5ba4e594df9 100644
> --- a/gcc/tree-vect-loop.c
> +++ b/gcc/tree-vect-loop.c
> @@ -4103,6 +4103,8 @@ vect_estimate_min_profitable_iters (loop_vec_info 
> loop_vinfo,
>  
>    if (vec_outside_cost <= 0)
>      min_profitable_estimate = 0;
> +  /* ??? This "else if" arm is written to handle all cases; see below for
> +     what we would do for !LOOP_VINFO_USING_PARTIAL_VECTORS_P.  */
>    else if (LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo))
>      {
>        /* This is a repeat of the code above, but with + SOC rather
> @@ -4115,10 +4117,17 @@ vect_estimate_min_profitable_iters (loop_vec_info 
> loop_vinfo,
>        if (outside_overhead > 0)
>       min_vec_niters = outside_overhead / saving_per_viter + 1;
>  
> -      int threshold = (vec_inside_cost * min_vec_niters
> -                    + vec_outside_cost
> -                    + scalar_outside_cost);
> -      min_profitable_estimate = threshold / scalar_single_iter_cost + 1;
> +      if (LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo))
> +     {
> +       int threshold = (vec_inside_cost * min_vec_niters
> +                        + vec_outside_cost
> +                        + scalar_outside_cost);
> +       min_profitable_estimate = threshold / scalar_single_iter_cost + 1;
> +     }
> +      else
> +     min_profitable_estimate = (min_vec_niters * assumed_vf
> +                                + peel_iters_prologue
> +                                + peel_iters_epilogue);
>      }
>    else
>      {

Reply via email to