On Thu, May 30, 2013 at 7:17 PM, Xinliang David Li <davi...@google.com> wrote:
> Ok. I think this is a useful patch for trunk too.

Agreed, I will send it up to trunk too. In the meantime it is now in google/4_8.

Thanks,
Teresa

>
> Thanks,
>
> David
>
> On Thu, May 30, 2013 at 7:03 PM, Teresa Johnson <tejohn...@google.com> wrote:
>> Testing passed. I forgot to include the documentation change in the first 
>> patch:
>>
>> Index: doc/invoke.texi
>> ===================================================================
>> --- doc/invoke.texi     (revision 199426)
>> +++ doc/invoke.texi     (working copy)
>> @@ -6219,7 +6219,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
>>
>> Teresa
>>
>> On Thu, May 30, 2013 at 6:49 PM, Teresa Johnson <tejohn...@google.com> wrote:
>>> This patch reduces the copious -fopt-info output by making the default for
>>> -fopt-info to be -fopt-info=optimized instead of -fopt-info=all. It also
>>> changes most of the vectorizer messages to use MSG_NOTE instead of
>>> MSG_OPTIMIZED_LOCATION.
>>>
>>> Reduced the output of -fopt-info for one application by >75%. Testing in
>>> progress.
>>>
>>> Ok for google/4_8 if testing passes?
>>>
>>> Thanks, Teresa
>>>
>>> Index: dumpfile.c
>>> ===================================================================
>>> --- dumpfile.c  (revision 199426)
>>> +++ dumpfile.c  (working copy)
>>> @@ -867,7 +867,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-vect-loop-manip.c
>>> ===================================================================
>>> --- tree-vect-loop-manip.c      (revision 199426)
>>> +++ tree-vect-loop-manip.c      (working copy)
>>> @@ -1774,7 +1774,7 @@ vect_do_peeling_for_loop_bound (loop_vec_info loop
>>>    gimple_seq cond_expr_stmt_list = NULL;
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "=== vect_do_peeling_for_loop_bound ===");
>>>
>>>    initialize_original_copy_tables ();
>>> @@ -1828,7 +1828,7 @@ vect_do_peeling_for_loop_bound (loop_vec_info loop
>>>    if (check_profitability)
>>>      max_iter = MAX (max_iter, (int) th - 1);
>>>    record_niter_bound (new_loop, double_int::from_shwi (max_iter), false, 
>>> true);
>>> -  dump_printf (MSG_OPTIMIZED_LOCATIONS,
>>> +  dump_printf (MSG_NOTE,
>>>                 "Setting upper bound of nb iterations for epilogue "
>>>                 "loop to %d\n", max_iter);
>>>
>>> @@ -1893,7 +1893,7 @@ vect_gen_niters_for_prolog_loop (loop_vec_info loo
>>>        int npeel = LOOP_PEELING_FOR_ALIGNMENT (loop_vinfo);
>>>
>>>        if (dump_enabled_p ())
>>> -        dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +        dump_printf_loc (MSG_NOTE, vect_location,
>>>                           "known peeling = %d.", npeel);
>>>
>>>        iters = build_int_cst (niters_type, npeel);
>>> @@ -1948,9 +1948,9 @@ vect_gen_niters_for_prolog_loop (loop_vec_info loo
>>>
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "niters for prolog loop: ");
>>> -      dump_generic_expr (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, iters);
>>> +      dump_generic_expr (MSG_NOTE, TDF_SLIM, iters);
>>>      }
>>>
>>>    var = create_tmp_var (niters_type, "prolog_loop_niters");
>>> @@ -2005,7 +2005,7 @@ vect_update_inits_of_drs (loop_vec_info loop_vinfo
>>>    struct data_reference *dr;
>>>
>>>   if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "=== vect_update_inits_of_dr ===");
>>>
>>>    FOR_EACH_VEC_ELT (datarefs, i, dr)
>>> @@ -2034,7 +2034,7 @@ vect_do_peeling_for_alignment (loop_vec_info loop_
>>>    int bound = 0;
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "=== vect_do_peeling_for_alignment ===");
>>>
>>>    initialize_original_copy_tables ();
>>> @@ -2062,7 +2062,7 @@ vect_do_peeling_for_alignment (loop_vec_info loop_
>>>    if (check_profitability)
>>>      max_iter = MAX (max_iter, (int) th - 1);
>>>    record_niter_bound (new_loop, double_int::from_shwi (max_iter), false, 
>>> true);
>>> -  dump_printf (MSG_OPTIMIZED_LOCATIONS,
>>> +  dump_printf (MSG_NOTE,
>>>                 "Setting upper bound of nb iterations for prologue "
>>>                 "loop to %d\n", max_iter);
>>>
>>> @@ -2349,11 +2349,11 @@ vect_create_cond_for_alias_checks (loop_vec_info l
>>>
>>>        if (dump_enabled_p ())
>>>         {
>>> -         dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +         dump_printf_loc (MSG_NOTE, vect_location,
>>>                             "create runtime check for data references ");
>>> -         dump_generic_expr (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, DR_REF 
>>> (dr_a));
>>> -         dump_printf (MSG_OPTIMIZED_LOCATIONS, " and ");
>>> -         dump_generic_expr (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, DR_REF 
>>> (dr_b));
>>> +         dump_generic_expr (MSG_NOTE, TDF_SLIM, DR_REF (dr_a));
>>> +         dump_printf (MSG_NOTE, " and ");
>>> +         dump_generic_expr (MSG_NOTE, TDF_SLIM, DR_REF (dr_b));
>>>         }
>>>
>>>        seg_a_min = addr_base_a;
>>> @@ -2379,7 +2379,7 @@ vect_create_cond_for_alias_checks (loop_vec_info l
>>>      }
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                      "created %u versioning for alias checks.\n",
>>>                      may_alias_ddrs.length ());
>>>  }
>>> Index: tree-vectorizer.c
>>> ===================================================================
>>> --- tree-vectorizer.c   (revision 199426)
>>> +++ tree-vectorizer.c   (working copy)
>>> @@ -107,7 +107,7 @@ vectorize_loops (void)
>>>         vect_location = find_loop_location (loop);
>>>          if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
>>>             && dump_enabled_p ())
>>> -         dump_printf (MSG_ALL, "\nAnalyzing loop at %s:%d\n",
>>> +         dump_printf (MSG_NOTE, "\nAnalyzing loop at %s:%d\n",
>>>                         LOC_FILE (vect_location), LOC_LINE (vect_location));
>>>
>>>         loop_vinfo = vect_analyze_loop (loop);
>>> @@ -118,8 +118,7 @@ vectorize_loops (void)
>>>
>>>          if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
>>>             && dump_enabled_p ())
>>> -          dump_printf (MSG_ALL, "\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");
>>>         vect_transform_loop (loop_vinfo);
>>>         num_vectorized_loops++;
>>>        }
>>> @@ -129,7 +128,7 @@ vectorize_loops (void)
>>>    statistics_counter_event (cfun, "Vectorized loops", 
>>> num_vectorized_loops);
>>>    if (dump_enabled_p ()
>>>        || (num_vectorized_loops > 0 && dump_enabled_p ()))
>>> -    dump_printf_loc (MSG_ALL, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "vectorized %u loops in function.\n",
>>>                       num_vectorized_loops);
>>>
>>> Index: tree-vect-patterns.c
>>> ===================================================================
>>> --- tree-vect-patterns.c        (revision 199426)
>>> +++ tree-vect-patterns.c        (working copy)
>>> @@ -417,9 +417,9 @@ vect_recog_dot_prod_pattern (vec<gimple> *stmts, t
>>>
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "vect_recog_dot_prod_pattern: detected: ");
>>> -      dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, pattern_stmt, 
>>> 0);
>>> +      dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>      }
>>>
>>>    /* We don't allow changing the order of the computation in the inner-loop
>>> @@ -676,7 +676,7 @@ vect_recog_widen_mult_pattern (vec<gimple> *stmts,
>>>
>>>    /* Pattern detected.  */
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "vect_recog_widen_mult_pattern: detected: ");
>>>
>>>    /* Check target support  */
>>> @@ -913,9 +913,9 @@ vect_recog_widen_sum_pattern (vec<gimple> *stmts,
>>>
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "vect_recog_widen_sum_pattern: detected: ");
>>> -      dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, pattern_stmt, 
>>> 0);
>>> +      dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>      }
>>>
>>>    /* We don't allow changing the order of the computation in the inner-loop
>>> @@ -1218,9 +1218,9 @@ vect_recog_over_widening_pattern (vec<gimple> *stm
>>>
>>>        if (dump_enabled_p ())
>>>          {
>>> -          dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +          dump_printf_loc (MSG_NOTE, vect_location,
>>>                             "created pattern stmt: ");
>>> -          dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, 
>>> pattern_stmt, 0);
>>> +          dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>          }
>>>
>>>        type = gimple_expr_type (stmt);
>>> @@ -1286,9 +1286,9 @@ vect_recog_over_widening_pattern (vec<gimple> *stm
>>>    /* Pattern detected.  */
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "vect_recog_over_widening_pattern: detected: ");
>>> -      dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, pattern_stmt, 
>>> 0);
>>> +      dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>      }
>>>
>>>    return pattern_stmt;
>>> @@ -1421,7 +1421,7 @@ vect_recog_widen_shift_pattern (vec<gimple> *stmts
>>>
>>>    /* Pattern detected.  */
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "vect_recog_widen_shift_pattern: detected: ");
>>>
>>>    /* Check target support.  */
>>> @@ -1567,7 +1567,7 @@ vect_recog_vector_vector_shift_pattern (vec<gimple
>>>
>>>    /* Pattern detected.  */
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "vect_recog_vector_vector_shift_pattern: detected: ");
>>>
>>>    /* Pattern supported.  Create a stmt to be used to replace the pattern.  
>>> */
>>> @@ -1685,7 +1685,7 @@ vect_recog_divmod_pattern (vec<gimple> *stmts,
>>>
>>>        /* Pattern detected.  */
>>>        if (dump_enabled_p ())
>>> -        dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +        dump_printf_loc (MSG_NOTE, vect_location,
>>>                           "vect_recog_divmod_pattern: detected: ");
>>>
>>>        cond = build2 (LT_EXPR, boolean_type_node, oprnd0,
>>> @@ -2032,9 +2032,9 @@ vect_recog_divmod_pattern (vec<gimple> *stmts,
>>>    /* Pattern detected.  */
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "vect_recog_divmod_pattern: detected: ");
>>> -      dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, pattern_stmt, 
>>> 0);
>>> +      dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>      }
>>>
>>>    stmts->safe_push (last_stmt);
>>> @@ -2199,7 +2199,7 @@ vect_recog_mixed_size_cond_pattern (vec<gimple> *s
>>>    *type_out = vectype;
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                       "vect_recog_mixed_size_cond_pattern: detected: ");
>>>
>>>    return pattern_stmt;
>>> @@ -2592,7 +2592,7 @@ vect_recog_bool_pattern (vec<gimple> *stmts, tree
>>>        *type_in = vectype;
>>>        stmts->safe_push (last_stmt);
>>>        if (dump_enabled_p ())
>>> -       dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +       dump_printf_loc (MSG_NOTE, vect_location,
>>>                           "vect_recog_bool_pattern: detected: ");
>>>
>>>        return pattern_stmt;
>>> @@ -2638,7 +2638,7 @@ vect_recog_bool_pattern (vec<gimple> *stmts, tree
>>>        *type_in = vectype;
>>>        stmts->safe_push (last_stmt);
>>>        if (dump_enabled_p ())
>>> -       dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +       dump_printf_loc (MSG_NOTE, vect_location,
>>>                           "vect_recog_bool_pattern: detected: ");
>>>        return pattern_stmt;
>>>      }
>>> @@ -2789,9 +2789,9 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_rec
>>>    /* Found a vectorizable pattern.  */
>>>    if (dump_enabled_p ())
>>>      {
>>> -      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +      dump_printf_loc (MSG_NOTE, vect_location,
>>>                         "pattern recognized: ");
>>> -      dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, pattern_stmt, 
>>> 0);
>>> +      dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>      }
>>>
>>>    /* Mark the stmts that are involved in the pattern. */
>>> @@ -2815,9 +2815,9 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_rec
>>>        pattern_stmt = STMT_VINFO_RELATED_STMT (stmt_info);
>>>        if (dump_enabled_p ())
>>>          {
>>> -          dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +          dump_printf_loc (MSG_NOTE, vect_location,
>>>                             "additional pattern stmt: ");
>>> -          dump_gimple_stmt (MSG_OPTIMIZED_LOCATIONS, TDF_SLIM, 
>>> pattern_stmt, 0);
>>> +          dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
>>>          }
>>>
>>>        vect_mark_pattern_stmts (stmt, pattern_stmt, NULL_TREE);
>>> Index: tree-vect-slp.c
>>> ===================================================================
>>> --- tree-vect-slp.c     (revision 199426)
>>> +++ tree-vect-slp.c     (working copy)
>>> @@ -1794,7 +1794,7 @@ vect_make_slp_decision (loop_vec_info loop_vinfo)
>>>
>>>    if (decided_to_slp && dump_enabled_p ())
>>>      dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> -                    "Decided to SLP %d instances. Unrolling factor %d",
>>> +                    "Vectorized %d SLP instances with unroll factor %d",
>>>                      decided_to_slp, unrolling_factor);
>>>
>>>    return (decided_to_slp > 0);
>>> @@ -3249,7 +3249,7 @@ vect_slp_transform_bb (basic_block bb)
>>>      }
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf (MSG_OPTIMIZED_LOCATIONS, "BASIC BLOCK VECTORIZED\n");
>>> +    dump_printf (MSG_NOTE, "BASIC BLOCK VECTORIZED\n");
>>>
>>>    destroy_bb_vec_info (bb_vinfo);
>>>  }
>>> Index: tree-vect-loop.c
>>> ===================================================================
>>> --- tree-vect-loop.c    (revision 199426)
>>> +++ tree-vect-loop.c    (working copy)
>>> @@ -5779,8 +5779,8 @@ vect_transform_loop (loop_vec_info loop_vinfo)
>>>    update_ssa (TODO_update_ssa);
>>>
>>>    if (dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location, "LOOP 
>>> VECTORIZED.");
>>> +    dump_printf_loc (MSG_NOTE, vect_location, "LOOP VECTORIZED.");
>>>    if (loop->inner && dump_enabled_p ())
>>> -    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
>>> +    dump_printf_loc (MSG_NOTE, vect_location,
>>>                      "OUTER LOOP VECTORIZED.");
>>>  }
>>
>>
>>
>> --
>> Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413



--
Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413

Reply via email to