[PATCH 1/2] Fix PR47654: Compute LB and UB of a CLAST expression.

Tobias Grosser grosser@fim.uni-passau.de
Tue Feb 22 17:24:00 GMT 2011


On 02/22/2011 12:04 PM, Sebastian Pop wrote:
> On Tue, Feb 22, 2011 at 03:58, Richard Guenther<rguenther@suse.de>  wrote:
>> So CLOOG basically assumes infinite precision integers with no
>> wrap-around?
>
> Yes, CLooG works on infinite precision integers.
> Graphite adds the constraints that define the type bounds,
> however it does not yet specify the wrapping arithmetic.
>
> In Polly, Tobias is adding extra constraints to describe the
> modulo arithmetic: like "the upper bound of the loop is N + M mod k",
> whereas Graphite would just say "the upper bound of the loop is N + M".

This is not yet completely implemented. However cloog-isl does provide 
the ability to add such kind of information. It also provides the 
ability to derive the maximal/minimal possible value of the variables in 
the clast, through analyzing the polyhedral representation cloog used 
for code generation.

If this is implemented and works efficiently we can represent wrapping 
semantics in CLooG and the optimizers.

>>> This passed the graphite testsuite.  I am currently regstrapping this
>>> patch on amd64-linux.  Ok for trunk?
>>
>> Ok.
>
> One of the patches produced these fails:
> FAIL: libgomp.graphite/force-parallel-1.c execution test
> FAIL: libgomp.graphite/force-parallel-3.c execution test
> FAIL: libgomp.graphite/force-parallel-9.c execution test
>
> I will send out an updated patch.
>
> Sebastian



More information about the Gcc-patches mailing list