[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