I hope optimiztion of integer overflow checking improves in LLVM, since now there is a highly visible project(JavaScriptCore FTL JIT) using the feature. JavaScript semantics pretty much forces you to do integer overflow checking fast.
(and if we talk about optimizing compilation things are getting more complicated as there int31, int32 and float64
can all coexist and you can have 31-bit integer stored in a float64 value - if operation was specialized for floating point values)