Hi,
On Fri, Feb 07, 2014 at 04:37:22PM -0800, Richard Henderson wrote:
> On 02/07/2014 03:12 PM, Richard Biener wrote:
> > On February 7, 2014 8:35:16 PM GMT+01:00, Richard Henderson
> > wrote:
> >> In the testcases with the PR, we have a bit of type punning going on,
> >>
> >> *(int *) &s2.f =
On Sat, Feb 8, 2014 at 1:37 AM, Richard Henderson wrote:
> On 02/07/2014 03:12 PM, Richard Biener wrote:
>> On February 7, 2014 8:35:16 PM GMT+01:00, Richard Henderson
>> wrote:
>>> In the testcases with the PR, we have a bit of type punning going on,
>>>
>>> *(int *) &s2.f = 0;
>>> s2 = s1;
>
On Fri, Feb 07, 2014 at 04:37:22PM -0800, Richard Henderson wrote:
> >> Thoughts on how this might really be solved?
> >
> > Add a VIEW_CONVERT_EXPR around the rhs of the debug statement.
>
> Well, ok, though I'm pretty sure that the debug info will pretty much barf on
> that immediately.
Why?
On 02/07/2014 03:12 PM, Richard Biener wrote:
> On February 7, 2014 8:35:16 PM GMT+01:00, Richard Henderson
> wrote:
>> In the testcases with the PR, we have a bit of type punning going on,
>>
>> *(int *) &s2.f = 0;
>> s2 = s1;
>>
>> which SRA trasforms to
>>
>> # DEBUG s2 => 0
>> MEM[(int *)
On February 7, 2014 8:35:16 PM GMT+01:00, Richard Henderson
wrote:
>In the testcases with the PR, we have a bit of type punning going on,
>
> *(int *) &s2.f = 0;
> s2 = s1;
>
>which SRA trasforms to
>
> # DEBUG s2 => 0
> MEM[(int *)&s2] = 0;
> # DEBUG s2 => s1$f_7
> # DEBUG s2$g => s1$g_6
>
In the testcases with the PR, we have a bit of type punning going on,
*(int *) &s2.f = 0;
s2 = s1;
which SRA trasforms to
# DEBUG s2 => 0
MEM[(int *)&s2] = 0;
# DEBUG s2 => s1$f_7
# DEBUG s2$g => s1$g_6
s2 ={v} {CLOBBER};
Note that it has chosen not to expand s1.f like s1.g, but t