This change might need a few tweaks such as a clearer error message. I only implemented it to work for bitwise or, though it may be logical to extend it to integer multiplication, where we can again be sure of overflow in some cases. http://llvm-reviews.chandlerc.com/D405