[patch] more graphite/vta fixes

Richard Guenther richard.guenther@gmail.com
Tue Mar 16 15:59:00 GMT 2010


On Tue, Mar 16, 2010 at 4:47 PM, Aldy Hernandez <aldyh@redhat.com> wrote:
> This is a fix for gcc.dg/graphite/pr42180.f90 run with -fcompare-debug.
>
> In this testcase we end up with a different set of basic blocks because
> we split a BB unecessarily on the debug path.  What is happening is that
> we split the BB here:
>
> # prephitmp.18_99 = PHI <0.0(3), pretmp.20_98(15)>
> # DEBUG theta_l12 => NULL
> D.1586_48 = prephitmp.10_82 + prephitmp.18_99;
> **** <SPLIT-HERE> *****
> *l12_41(D) = D.1586_48;
> # DEBUG i => i_1 + 1
>
> ...but fail to exit early because we get confused by the debug
> statement.
>
> Fixed thusly.
>
> OK for trunk?

Bootstrapped and tested on ... ?

Ok.

Thanks,
Richard.

>        * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
>        statements before splitting block.
>
> Index: graphite-sese-to-poly.c
> ===================================================================
> --- graphite-sese-to-poly.c     (revision 157481)
> +++ graphite-sese-to-poly.c     (working copy)
> @@ -2466,7 +2466,7 @@ split_reduction_stmt (gimple stmt)
>
>   split_block (bb, stmt);
>
> -  if (gsi_one_before_end_p (gsi_start_bb (bb)))
> +  if (gsi_one_before_end_p (gsi_start_nondebug_bb (bb)))
>     return bb;
>
>   gsi = gsi_last_bb (bb);
>



More information about the Gcc-patches mailing list