[patch] Fix tree-optimization/38079: segfault with -ftree-vectorizer-verbose=9
Dorit Nuzman
DORIT@il.ibm.com
Tue Nov 11 14:03:00 GMT 2008
>
> Hi,
>
> The failure is caused by the use of dump_file instead of vect_dump.
> Even that it doesn't ICE, 4.4 contains the same problem.
>
> Bootstrapped with vectorization enabled on ppc-linux and tested on
> x86-linux for 4.3 branch.
> O.K. for 4.3 and 4.4 once the testing completes?
>
I can't approve for 4.3, but ok for 4.4
thanks,
dorit
> Thanks,
> Ira
>
> ChangeLog:.
>
> * tree-vect-analyze.c (vect_analyze_data_refs): Replace dump_file
> with vect-dump.
>
> Index: tree-vect-analyze.c
> ===================================================================
> --- tree-vect-analyze.c (revision 141763)
> +++ tree-vect-analyze.c (working copy)
> @@ -3314,8 +3314,8 @@ vect_analyze_data_refs (loop_vec_info lo
>
> if (vect_print_dump_info (REPORT_DETAILS))
> {
> - fprintf (dump_file, "analyze in outer-loop: ");
> - print_generic_expr (dump_file, inner_base, TDF_SLIM);
> + fprintf (vect_dump, "analyze in outer-loop: ");
> + print_generic_expr (vect_dump, inner_base, TDF_SLIM);
> }
>
> outer_base = get_inner_reference (inner_base, &pbitsize,
> &pbitpos,
> @@ -3325,7 +3325,7 @@ vect_analyze_data_refs (loop_vec_info lo
> if (pbitpos % BITS_PER_UNIT != 0)
> {
> if (vect_print_dump_info (REPORT_DETAILS))
> - fprintf (dump_file, "failed: bit offset alignment.\n");
> + fprintf (vect_dump, "failed: bit offset alignment.\n");
> return false;
> }
>
> @@ -3333,7 +3333,7 @@ vect_analyze_data_refs (loop_vec_info lo
> if (!simple_iv (loop, stmt, outer_base, &base_iv, false))
> {
> if (vect_print_dump_info (REPORT_DETAILS))
> - fprintf (dump_file, "failed: evolution of base is not
> affine.\n");.
> + fprintf (vect_dump, "failed: evolution of base is not
> affine.\n");.
> return false;
> }
>
> @@ -3353,7 +3353,7 @@ vect_analyze_data_refs (loop_vec_info lo
> else if (!simple_iv (loop, stmt, poffset, &offset_iv, false))
> {
> if (vect_print_dump_info (REPORT_DETAILS))
> - fprintf (dump_file, "evolution of offset is not
> affine.\n");.
> + fprintf (vect_dump, "evolution of offset is not
> affine.\n");.
> return false;
> }
>
> @@ -3376,18 +3376,18 @@ vect_analyze_data_refs (loop_vec_info lo
> STMT_VINFO_DR_ALIGNED_TO (stmt_info) =
> size_int (highest_pow2_factor
> (offset_iv.base)););.
>
> - if (dump_file && (dump_flags & TDF_DETAILS))
> + if (vect_dump && (dump_flags & TDF_DETAILS))
> {
> - fprintf (dump_file, "\touter base_address: ");
> - print_generic_expr (dump_file, STMT_VINFO_DR_BASE_ADDRESS
> (stmt_info), TDF_SLIM);
> - fprintf (dump_file, "\n\touter offset from base address:
");
> - print_generic_expr (dump_file, STMT_VINFO_DR_OFFSET
> (stmt_info), TDF_SLIM);
> - fprintf (dump_file, "\n\touter constant offset from base
> address: ");
> - print_generic_expr (dump_file, STMT_VINFO_DR_INIT
> (stmt_info), TDF_SLIM););
> - fprintf (dump_file, "\n\touter step: ");
> - print_generic_expr (dump_file, STMT_VINFO_DR_STEP
> (stmt_info), TDF_SLIM););
> - fprintf (dump_file, "\n\touter aligned to: ");
> - print_generic_expr (dump_file, STMT_VINFO_DR_ALIGNED_TO
> (stmt_info), TDF_SLIM););
> + fprintf (vect_dump, "\touter base_address: ");
> + print_generic_expr (vect_dump, STMT_VINFO_DR_BASE_ADDRESS
> (stmt_info), TDF_SLIM);
> + fprintf (vect_dump, "\n\touter offset from base address:
");
> + print_generic_expr (vect_dump, STMT_VINFO_DR_OFFSET
> (stmt_info), TDF_SLIM);
> + fprintf (vect_dump, "\n\touter constant offset from base
> address: ");
> + print_generic_expr (vect_dump, STMT_VINFO_DR_INIT
> (stmt_info), TDF_SLIM););
> + fprintf (vect_dump, "\n\touter step: ");
> + print_generic_expr (vect_dump, STMT_VINFO_DR_STEP
> (stmt_info), TDF_SLIM););
> + fprintf (vect_dump, "\n\touter aligned to: ");
> + print_generic_expr (vect_dump, STMT_VINFO_DR_ALIGNED_TO
> (stmt_info), TDF_SLIM););
> }
> }
>
More information about the Gcc-patches
mailing list