This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Teach SCCVN/FRE expression insertion, optimize type-punning through unions (final!)


On Fri, 14 Mar 2008, Paolo Bonzini wrote:

> > + 	*state_in = fs.reg;
> > + 	*state_in = fs.offset;
> 
> Better to write to two different variables, maybe?
> 
> > +     union loc fs;
> > +     for (;;)
> > +     {
> > + 	*state_in = fs.offset;
> > + 	*state_in = fs.reg;
> 
> Likewise, and also make them volatile?
> 
> > + 	    case 0:
> > + 		*state_in = fs.reg;
> > + 	    case 1:
> > + 		*state_in = fs.offset;
> 
> Write to two variables here too?

Both stores need to be connected via VOPs - all the above testcases
are for situations we would ICE if the dominance / avail checks were
not done (and we would be happen to visit the loads in the wrong order).

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]