[Bug middle-end/60546] [4.8/4.9] O2 & asan enable generates wrong insns

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 17 16:54:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60546

--- Comment #19 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to linzj from comment #18)
> (In reply to rguenther@suse.de from comment #17)
> > On Mon, 17 Mar 2014, manjian2006 at gmail dot com wrote:
> > 
> > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60546
> > > 
> > > --- Comment #16 from linzj <manjian2006 at gmail dot com> ---
> > > Yes,that may work.But what exactly go wrong in the original algorithm? I can't
> > > change a correct algorithm just because it volatiles TBBA and make the compiler
> > > generate wrong code.Because it's CORRECT logically.
> > 
> > You have to fix the memory reads from data[] to not read 'short's but
> > to read 'char's.
> 
> Just out of curiosity , why this behavior causes tbba failure?And is that a
> logical error?I am sure it's not an alignment error.
> Interpreting a block of raw data from a temporary stack space as a short
> array does not seem like any error to me.

Except short cannot alias char.  That is the point of type based alias
analysis.



More information about the Gcc-bugs mailing list