[PATCH] Preserve the original program while using graphite

Sebastian Pop sebpop@gmail.com
Fri Nov 13 23:56:00 GMT 2015


On Fri, Nov 13, 2015 at 3:08 PM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> 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)'

We will work on fixing these issues.  I think they are related to the
ISL version.
We tested all our patches with ISL 0.15 with which they are all passing.
I still have in my todo list to disable all ISL versions strictly
lower than 0.14.
We will fix the problems with ISL 0.14.

If possible, I would like to deprecate ISL 0.14 in this release,
such that we can remove support for ISL 0.14 in the next 7.x release.
We highly recommend configuring GCC with ISL 0.15.

Thanks,
Sebastian

Thanks,
Sebastian

>
> Thanks,
> - Tom



More information about the Gcc-patches mailing list