This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Add VIEW_CONVERT_EXPR to operand_equal_p
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>,Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 16 Oct 2015 23:41:48 +0200
- Subject: Re: Add VIEW_CONVERT_EXPR to operand_equal_p
- Authentication-results: sourceware.org; auth=none
- References: <20151014162944 dot GE16672 at kam dot mff dot cuni dot cz> <1650238 dot MNS506uDsp at polaris> <20151015232415 dot GC4230 at kam dot mff dot cuni dot cz> <3370546 dot VBkdrdfpOC at polaris>
On October 16, 2015 5:55:08 PM GMT+02:00, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> I wasn't aware that x86/IA-64 is still broken. I am flying to NY
>tomorrow
>> but will try to take a look. The ICEs are not caused by
>operand_equal_p
>> changes, but the change to useless_type_conversion to ignore mode on
>> aggregate types.
>
>Sure, but I'd like to avoid hiding new problems against preexisting
>ICEs.
>
>> A safe way would be to add the mode check back (as was in my original
>patch)
>> that does not change my original intent to separate CANONICAL_TYPE
>from
>> gimple semantic type equivalence machinery. It was however outcome of
>the
>> discussion that we would preffer the mode to be ignored in this case
>which
>> means fixing expansion side.
>
>What do we gain by doing this? Pretending that the mode doesn't matter
>is a
>lie at the RTL level and I don't see why GIMPLE would have to care.
Well, it would (I think) ICE on assigning a packed variant to a non-packed variant of a strict that happens to get a non-BLKmode when not packed.
Richard.
>> I have no way to reproduce the IA-64 change, but will send proposed
>patch -
>> from backtrace it was clear where the wrong mode went in. Will wait
>with
>> operand_euqal_p changess until this is fixed.
>
>Thanks. I have installed 2 testcases that exhibit 2 distinct ICEs on
>x86-64,
>pack21.adb at -O0 and pack22.adb at -O1 (similar to the IA-64 one).
>
>
> PR middle-end/67966
> * gnat.dg/pack21.adb: New test.
> * gnat.dg/pack22.adb: Likewise.
> * gnat.dg/pack22_pkg.ad[sb]: New helper.