llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Sanjoy Das 6fabb90765 [CVP] Remove some {s|u}add.with.overflow checks.
Summary:
This adds logic to CVP to remove some overflow checks.  It uses LVI to remove
operations with at least one constant.  Specifically, this can remove many
overflow intrinsics immediately following an overflow check in the source code,
such as:

if (x < INT_MAX)
    ... x + 1 ...

Patch by Joel Galenson!

Reviewers: sanjoy, regehr

Reviewed By: sanjoy

Subscribers: fhahn, pirama, srhines, llvm-commits

Differential Revision: https://reviews.llvm.org/D39483

llvm-svn: 317911
2017-11-10 19:13:35 +00:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
add.ll [CVP] Process binary operations even when def is local 2017-10-12 22:39:52 +00:00
alloca.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
ashr.ll [CVP] Process binary operations even when def is local 2017-10-12 22:39:52 +00:00
basic.ll [IR] Make SwitchInst::CaseIt almost a normal iterator. 2017-03-26 02:49:23 +00:00
conflict.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
crash.ll
guards.ll [LVI] Fix a bug with a guard being the very first instruction in a BB not taken into account 2016-10-21 15:02:21 +00:00
icmp.ll
non-null.ll
overflows.ll [CVP] Remove some {s|u}add.with.overflow checks. 2017-11-10 19:13:35 +00:00
range.ll [LVI] Constant-propagate a zero extension of the switch condition value through case edges 2017-08-03 21:11:30 +00:00
sdiv.ll [CVP] Process binary operations even when def is local 2017-10-12 22:39:52 +00:00
select.ll
srem.ll [CVP] Process binary operations even when def is local 2017-10-12 22:39:52 +00:00