InstCombine: Detect when llvm.umul.with.overflow always overflows
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 2 Jan 2015 07:29:47 +0000 (07:29 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 2 Jan 2015 07:29:47 +0000 (07:29 +0000)
commit5e9c6212a8e6bb300dbef6cfbe4dee24623e91d2
tree7e6987f13b3c449c4b7997f2bf95624499efb71f
parent25e8e79fab57f4a95165f555ae67d0839d9a6399
InstCombine: Detect when llvm.umul.with.overflow always overflows

We know overflow always occurs if both ~LHSKnownZero * ~RHSKnownZero
and LHSKnownOne * RHSKnownOne overflow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225077 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ValueTracking.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/Transforms/InstCombine/intrinsics.ll