-O2 especially has a tendency to unroll loops, etc, and generally speaking the compiled code won't match the source's flow. I wouldn't like that to be the case, but it all depends on if we want to give people debug build... which we most likely want.