Bug in loop optimize (invalid postinc to preinc transformation)

Alexandre Oliva aoliva@redhat.com
Wed Dec 27 19:55:00 GMT 2000


On Dec 27, 2000, Peter Osterlund <peter.osterlund@mailbox.swipnet.se> wrote:

> Compiling without optimization indicates that the compiler is
> transforming (p++ < x) into (++p < (x+1)), even when not optimizing.
> This transformation is incorrect because x+1 wraps around.

Overflow invokes undefined behavior.  Since incrementing p in this
case involves overflow, I think the transformation is ok, as far as
undefined behavior goes.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


More information about the Gcc mailing list