Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-08 Thread Martin Jambor
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 =

Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-08 Thread Richard Biener
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; >

Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-07 Thread Jakub Jelinek
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?

Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-07 Thread Richard Henderson
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 *)

Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-07 Thread Richard Biener
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 >

[RFC] PR 59776 - esra vs gimple_debug

2014-02-07 Thread Richard Henderson
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