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."); }