Analysis: Reformulate WillNotOverflowUnsignedMul for reusability
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 2 Jan 2015 07:29:43 +0000 (07:29 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 2 Jan 2015 07:29:43 +0000 (07:29 +0000)
commit25e8e79fab57f4a95165f555ae67d0839d9a6399
treee89b5db6f09eb4665ad8ec84043eadd948c9c7f0
parent71fc42dbf6d2c6625f4245b633ccdc0f6b8e36ae
Analysis: Reformulate WillNotOverflowUnsignedMul for reusability

WillNotOverflowUnsignedMul's smarts will live in ValueTracking as
computeOverflowForUnsignedMul.  It now returns a tri-state result:
never overflows, always overflows and sometimes overflows.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225076 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ValueTracking.h
lib/Analysis/ValueTracking.cpp
lib/Transforms/InstCombine/InstCombine.h
lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp