----------------------------------------
> Subject: RE: [PATCH] [graphite] Constrain only on INTEGER_TYPE
> From: richard.guent...@gmail.com
> Date: Fri, 14 Aug 2015 16:47:41 +0200
> To: hiradi...@msn.com
> CC: tob...@grosser.es; gcc-patches@gcc.gnu.org; s....@samsung.com; 
> seb...@gmail.com
>
> On August 14, 2015 4:31:23 PM GMT+02:00, Aditya K <hiradi...@msn.com> wrote:
>>
>>
>>----------------------------------------
>>> Date: Fri, 14 Aug 2015 11:47:05 +0200
>>> Subject: Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
>>> From: richard.guent...@gmail.com
>>> To: hiradi...@msn.com
>>> CC: tob...@grosser.es; gcc-patches@gcc.gnu.org; s....@samsung.com;
>>seb...@gmail.com
>>>
>>> On Fri, Aug 14, 2015 at 11:25 AM, Aditya K <hiradi...@msn.com> wrote:
>>>>
>>>>
>>>> ----------------------------------------
>>>>> Date: Fri, 14 Aug 2015 09:31:32 +0200
>>>>> Subject: Re: [PATCH] [graphite] Constrain only on INTEGER_TYPE
>>>>> From: richard.guent...@gmail.com
>>>>> To: hiradi...@msn.com
>>>>> CC: tob...@grosser.es; gcc-patches@gcc.gnu.org; s....@samsung.com;
>>seb...@gmail.com
>>>>>
>>>>> 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.
>>>>
>>>> This is exactly what I did and that resulted in miscompile. Then out
>>of curiosity I tried to debug by putting
>>>> /* We can not handle REAL_TYPE. Failed for pr39260. */
>>>> - || TREE_CODE (TREE_TYPE (op)) == REAL_TYPE)
>>>> + || TREE_CODE (TREE_TYPE (op)) != INTEGER_TYPE)
>>>> + || TREE_CODE (TREE_TYPE (op)) != BOOLEAN_TYPE))
>>>>
>>>
>>> well, each op is either != INTEGER or != BOOLEAN ... this is equal to
>>> doing || true
>>
>>
>>My bad, thanks for correction.
>>I tried this way (using BOOLEAN_TYPE) and this also failed bootstrap.
>
> As previously said the REAL_TYPE condition also allowed BOOLEAN_TYPE and thus 
> also should have failed to bootstrap then(?)
>

Yet it did fail before. I started working on this patch because gcc was failing 
bootstrap with 
BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-block -floop-interchange"
-Aditya

> Richard.
>
>
                                          

Reply via email to