hanchenye-llvm-project/llvm/test/Transforms/CorrelatedValuePropagation
Karl-Johan Karlsson ebaaa2ddae [ValueTracking] Fix endless recursion in isKnownNonZero()
Summary:
The isKnownNonZero() function have checks that abort the recursion when
it reaches the specified max depth. However one of the recursive calls
was placed before the max depth check was done, resulting in a endless
recursion that eventually triggered a segmentation fault.

Fixed the problem by moving the max depth check above the first
recursive call.

Reviewers: Prazek, nlopes, spatel, craig.topper, hfinkel

Reviewed By: hfinkel

Subscribers: hfinkel, bjope, llvm-commits

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

llvm-svn: 333557
2018-05-30 15:56:46 +00:00
..
2010-09-02-Trunc.ll
2010-09-26-MergeConstantRange.ll
add.ll
alloca.ll
ashr.ll
basic.ll
conflict.ll
crash.ll
guards.ll
icmp.ll
non-null.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
overflows.ll [CVP] Remove some {s|u}sub.with.overflow checks. 2017-12-05 18:14:24 +00:00
phi-common-val.ll [CVP] Require DomTree for new Pass Manager 2018-05-21 11:06:28 +00:00
pointer.ll [ValueTracking] Fix endless recursion in isKnownNonZero() 2018-05-30 15:56:46 +00:00
pr35807.ll [CVP] Don't Replace incoming values from unreachable blocks with undef. 2018-01-29 05:59:55 +00:00
range.ll
sdiv.ll
select.ll
srem.ll
udiv.ll Re-re-land: Teach CorrelatedValuePropagation to reduce the width of udiv/urem instructions. 2018-03-21 14:08:21 +00:00
urem.ll Re-re-land: Teach CorrelatedValuePropagation to reduce the width of udiv/urem instructions. 2018-03-21 14:08:21 +00:00