[graphite] Backend fixes

Sebastian Pop sebpop@gmail.com
Mon Aug 25 17:10:00 GMT 2008


> Disable cloog optimizations
> ===========================
>
>  * graphite.c (set_cloog_options): Disable optimizations.
>
> Cloog optimizes the output in control flow.
>
> Example:
>
>          for (i = 0; i < 100; i ++)
>                if (i < 30 && i > 60)
>                        A
>          becomes:
>
>          for (i = 0; i < 30; i++)
>                A
>          for (i = 61; i < 100; i++)
>                A
>
> This breaks the current code generation, as some bbs may appear twice
> or more often in the clast output.
>

For fixing this one, we're replacing the bb_move with a bb_copy such
that we can handle also multiple copies of A.  This triggers also the
need of another cleanup for induction variables: we need exactly one
IV per loop, otherwise we end up with variable definitions that
disappears, as not renamed or moved along from the old loop.

Sebastian



More information about the Gcc-patches mailing list