This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Aditya K <hiraditya at msn dot com>
- Cc: Tobias Grosser <tobias at grosser dot es>, GCC Patches <gcc-patches at gcc dot gnu dot org>, "s dot pop at samsung dot com" <s dot pop at samsung dot com>, Sebastian Pop <sebpop at gmail dot com>
- Date: Fri, 14 Aug 2015 09:31:32 +0200
- Subject: Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
- Authentication-results: sourceware.org; auth=none
- References: <1439411605-10344-1-git-send-email-hiraditya at msn dot com> <55CBAF7F dot 3050909 at grosser dot es> <CAFiYyc30i32c5zgWHhCUa8xkzqfe4yTx0dwskuSwJN8r+Ude3A at mail dot gmail dot com> <BLU179-W67BD100586E308D7C61CCBB67D0 at phx dot gbl>
On Thu, Aug 13, 2015 at 7:56 PM, Aditya K <hiraditya@msn.com> wrote:
>
>
>> Date: Thu, 13 Aug 2015 12:02:43 +0200
>> Subject: Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
>> From: richard.guenther@gmail.com
>> To: tobias@grosser.es
>> CC: hiraditya@msn.com; gcc-patches@gcc.gnu.org; s.pop@samsung.com;
>> sebpop@gmail.com
>>
>> On Wed, Aug 12, 2015 at 10:41 PM, Tobias Grosser <tobias@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