my impression (from reading the clang/llvm posts a while back) was that they tend to assume that anything with undefined behaviour in the spec returns a value that makes the code faster (eg. by simply ignoring the statement altogether).
edit: http://blog.llvm.org/2011/05/what-every-c-programmer-should-...