Analysis: Reformulate WillNotOverflowUnsignedAdd for reusability
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 7 Jan 2015 00:39:50 +0000 (00:39 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 7 Jan 2015 00:39:50 +0000 (00:39 +0000)
commit72a9513e92afaa33ab09e1020c1e5f03939a9fe1
tree695ea7e5eba839a8229b4c407d20fe5bd3d17ae8
parentc8c560867f2ebafaa98956fa2718971af6262e58
Analysis: Reformulate WillNotOverflowUnsignedAdd for reusability

WillNotOverflowUnsignedAdd's smarts will live in ValueTracking as
computeOverflowForUnsignedAdd.  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@225329 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ValueTracking.h
lib/Analysis/ValueTracking.cpp
lib/Transforms/InstCombine/InstCombine.h
lib/Transforms/InstCombine/InstCombineAddSub.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp