On Fri, 31 May 2013, Teresa Johnson wrote:

> This patch changes the -fopt-info default to optimized instead of all,
> since the latter is extremely verbose. This reduced the -fopt-info output by
> over 75% in at least one case, since the vectorizer has many messages under
> MSG_NOTE (and that should grow as more passes are converted to the new dump
> infrastructure).  The default now emits high-level optimization success info
> (currently for unrolling, inlining and vectorization).
> 
> Also changed which vectorization summary messages are emitted under
> -fopt-info(=optimized), to be more consistent with the format of the
> optimization summary messages emitted by the unroller and inliner,
> and fixed the loop vectorization summary message to use dump_printf_loc
> instead of manually emitting the location info.
> 
> Bootstrapped and tested on x86-64-unknown-linux-gnu. Ok for trunk?
> 
> 2013-05-31  Teresa Johnson  <tejohn...@google.com>
> 
>       * dumpfile.c (opt_info_switch_p): Change -fopt-info
>         default to -fopt-info=optimized instead of all.
>       * doc/invoke.texi: Ditto.
>       * tree-vectorizer.c (vectorize_loops): Emit loop vectorization
>         success under MSG_ALL, and use dump_printf_loc.
>       (execute_vect_slp): Emit BB vectorization success under
>         MSG_OPTIMIZED_LOCATIONS.
>       * tree-vect-slp.c (vect_make_slp_decision): Ditto.
>       (vect_slp_transform_bb): Change MSG_OPTIMIZED_LOCATIONS
>         to MSG_NOTE.
>       * tree-vect-loop.c (vect_transform_loop): Ditto.
> 
> Index: tree-vect-loop.c
> ===================================================================
> --- tree-vect-loop.c  (revision 199423)
> +++ tree-vect-loop.c  (working copy)
> @@ -5801,7 +5801,7 @@ vect_transform_loop (loop_vec_info loop_vinfo)
>  
>    if (dump_enabled_p ())
>      {
> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
> +      dump_printf_loc (MSG_NOTE, vect_location,
>                      "LOOP VECTORIZED\n");
>        if (loop->inner)
>       dump_printf_loc (MSG_NOTE, vect_location,
> Index: dumpfile.c
> ===================================================================
> --- dumpfile.c        (revision 199423)
> +++ dumpfile.c        (working copy)
> @@ -866,7 +866,7 @@ opt_info_switch_p (const char *arg)
>  
>    file_seen = xstrdup (filename);
>    if (!flags)
> -    flags = MSG_ALL;
> +    flags = MSG_OPTIMIZED_LOCATIONS;
>    if (!optgroup_flags)
>      optgroup_flags = OPTGROUP_ALL;
>  
> Index: tree-vectorizer.c
> ===================================================================
> --- tree-vectorizer.c (revision 199423)
> +++ tree-vectorizer.c (working copy)
> @@ -118,8 +118,7 @@ vectorize_loops (void)
>  
>          if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
>           && dump_enabled_p ())
> -          dump_printf (MSG_NOTE, "\n\nVectorizing loop at %s:%d\n",
> -                       LOC_FILE (vect_location), LOC_LINE (vect_location));
> +          dump_printf_loc (MSG_ALL, vect_location, "Vectorized loop\n");

MSG_ALL looks wrong if we are looking for unoptimized locations
only, no?  I think you want MSG_OPTIMIZED_LOCATIONS here.

>       vect_transform_loop (loop_vinfo);
>       num_vectorized_loops++;
>        }
> @@ -179,7 +178,7 @@ execute_vect_slp (void)
>          {
>            vect_slp_transform_bb (bb);
>            if (dump_enabled_p ())
> -            dump_printf_loc (MSG_NOTE, vect_location,
> +            dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>                            "basic block vectorized using SLP\n");

Please make the message consistent with the loop one.  The loop one
says "Vectorized loop" (I think the caps 'V' is not according to
our diagnostic policies, it should be lower-case), the basic-block
one "basic block vectorized using SLP" which shouldn't confuse the
user about "SLP" and say "vectorized basic-block" instead.

Yes, that may require you to fiddle with testcases that scan for
these ...

>          }
>      }
> Index: doc/invoke.texi
> ===================================================================
> --- doc/invoke.texi   (revision 199423)
> +++ doc/invoke.texi   (working copy)
> @@ -6172,7 +6172,7 @@ Controls optimization dumps from various optimizat
>  @samp{-@var{options}} form is used, @var{options} is a list of
>  @samp{-} separated options to select the dump details and
>  optimizations.  If @var{options} is not specified, it defaults to
> -@option{all} for details and @option{optall} for optimization
> +@option{optimized} for details and @option{optall} for optimization
>  groups. If the @var{filename} is not specified, it defaults to
>  @file{stderr}. Note that the output @var{filename} will be overwritten
>  in case of multiple translation units. If a combined output from
> Index: tree-vect-slp.c
> ===================================================================
> --- tree-vect-slp.c   (revision 199423)
> +++ tree-vect-slp.c   (working copy)
> @@ -1698,8 +1698,8 @@ vect_make_slp_decision (loop_vec_info loop_vinfo)
>    LOOP_VINFO_SLP_UNROLLING_FACTOR (loop_vinfo) = unrolling_factor;
>  
>    if (decided_to_slp && dump_enabled_p ())
> -    dump_printf_loc (MSG_NOTE, vect_location,
> -                  "Decided to SLP %d instances. Unrolling factor %d",
> +    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
> +                  "Vectorized %d SLP instances with unroll factor %d",
>                    decided_to_slp, unrolling_factor);

Keep this MSG_NOTE please.

>    return (decided_to_slp > 0);
> @@ -3181,7 +3181,7 @@ vect_slp_transform_bb (basic_block bb)
>      }
>  
>    if (dump_enabled_p ())
> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
> +    dump_printf_loc (MSG_NOTE, vect_location,
>                    "BASIC BLOCK VECTORIZED\n");
>  
>    destroy_bb_vec_info (bb_vinfo);

The patch is ok with these changes if it tests ok.

Thanks,
Richard.

Reply via email to