This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IMA vs tree-ssa
- From: law at redhat dot com
- To: Dale Johannesen <dalej at apple dot com>
- Cc: GCC List <gcc at gcc dot gnu dot org>
- Date: Thu, 26 Feb 2004 17:21:44 -0700
- Subject: Re: IMA vs tree-ssa
- Reply-to: law at redhat dot com
In message <47CEA8A4-68B9-11D8-8C0E-000A95D7CD40@apple.com>, Dale Johannesen wr
ites:
>
>On Feb 26, 2004, at 3:47 PM, law@redhat.com wrote:
>>> Because it's an array, so you get array = scalar.
>> Ahhh. Then we ought to have a type test before returning base in that
>> code.
>>
>>>> If OFFSET is nonzero, then we'll fall out returning NULL_TREE which
>>>> indicates that we couldn't simplify -- which ought to just inhibit
>>>> an optimization.
>>>
>>> Actually, I applied the fix rth suggested and now get an abort earlier
>>> building 176.gcc.
>>> Stay tuned.
>> OK. Eagerly awaiting the next issue.
>
>The code in get_expr_operands() expects that *&x will get simplified,
>and aborts if it isn't.
I had a concern this might happen.
> Both suggested fixes run into this.
>
>Perhaps maybe_fold_offset_to_array_ref ought to ignore the type
>"mismatch",
>at least when offset is 0. I can't see that *&x (for x an array)
>should ever be anything but x[0]. Let me try that...
My only concern would be that you might get a bad operand type mis-match;
though for this code I don't really see how that could happen.
jeff