[PATCH] Preserve the original program while using graphite

Tom de Vries Tom_deVries@mentor.com
Fri Nov 13 21:08:00 GMT 2015


On 11/11/15 23:54, Aditya Kumar wrote:
> Earlier, graphite used to translate portions of the original program after
> scop-detection in order to represent the SCoP into polyhedral model.  This was
> required because each basic block was represented as independent basic block in
> the polyhedral model. So all the cross-basic-block dependencies were translated
> out-of-ssa.
>
> With this patch those dependencies are also exposed to the ISL, so there is no
> need to modify the original structure of the program.
>
> After this patch we should be able to enable graphite at some default
> optimization level.
>
>
> Highlights:
> Remove cross bb scalar to array translation
> For reductions, add support for more than just INT_CST
> Early bailout on codegen.
> Verify loop-closed ssa structure during copy of renames
> The uses of exprs should come from bb which dominates the bb
> Collect the init value of close phi in loop-guard
> Do not follow vuses for close-phi, postpone loop-close phi until the
>      corresponding loop-phi is processed
> Bail out if no bb found to place cond/loop -phis
> Move insertion of liveouts at the end of codegen
> Insert loop-phis in the loop-header.
>
>
> This patch passes regtest and bootstrap with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'
>
>

This patch has been committed, and caused PR68341 - 'FAIL: 
gcc.dg/graphite/interchange-{1,11,13}.c (internal compiler error)'

Thanks,
- Tom



More information about the Gcc-patches mailing list