On Thu, Aug 13, 2015 at 7:56 PM, Aditya K <hiradi...@msn.com> wrote:
>
>
>> Date: Thu, 13 Aug 2015 12:02:43 +0200
>> Subject: Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
>> From: richard.guent...@gmail.com
>> To: tob...@grosser.es
>> CC: hiradi...@msn.com; gcc-patches@gcc.gnu.org; s....@samsung.com;
>> seb...@gmail.com
>>
>> On Wed, Aug 12, 2015 at 10:41 PM, Tobias Grosser <tob...@grosser.es>
>> wrote:
>> > On 08/12/2015 10:33 PM, Aditya Kumar wrote:
>> >>
>> >> Passes bootstrap, no regressions.
>> >>
>> >> With this patch gcc bootstraps with graphite.
>> >> make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange
>> >> -floop-block"
>> >
>> >
>> > LGTM, but please use a longer sentence to explain what you do.
>>
>> As the middle-end generally freely exchanges INTEGER_TYPE
>> ENUMERAL_TYPE and BOOLEAN_TYPE
>> you want to use INTEGRAL_TYPE_P here.
>>
>
> Thanks.
> I tried INTEGRAL_TYPE_P, and that fails bootstrap. After a little bit of
> debugging I figured out that it is
> ENUMERAL_TYPE that causes the failure (miscompile) in tree-vect-data-refs.c.
> I can add INTEGER_TYPE and BOOLEAN_TYPE (bootstrap passes with these). But
> that would be inconsistent with the type-checks at other places in
> graphite-*.c.
> Currently, we are only checking for INTEGER_TYPE at other places.

This is weird - the code you replace did allow both ENUMERAL_TYPE and
BOOLEAN_TYPE.

my suggestion was

                 /* We can not handle REAL_TYPE. Failed for pr39260.  */
-               || TREE_CODE (TREE_TYPE (op)) == REAL_TYPE)
+               || ! INTEGRAL_TYPE_P (TREE_TYPE (op))

you also need to adjust the comment btw.

Richard.

> -Aditya
>
>
>> RIchard.
>>
>> > Tobias

Reply via email to