llvm-project/llvm/test/Analysis/ValueTracking
Sanjay Patel 1d91ec34b2 [ValueTracking] add recursion depth param to matchSelectPattern
We're getting bug reports:
https://bugs.llvm.org/show_bug.cgi?id=35807
https://bugs.llvm.org/show_bug.cgi?id=35840
https://bugs.llvm.org/show_bug.cgi?id=36045
...where we blow up the stack in value tracking because other passes are sending 
in selects that have an operand that is itself the select.

We don't currently have a reliable way to avoid analyzing dead code that may take 
non-standard forms, so bail out when things go too far.

This mimics the recursion depth limitations in other parts of value tracking.

Unfortunately, this pushes the underlying problems for other passes (jump-threading,
simplifycfg, correlated-propagation) into hiding. If someone wants to uncover those
again, the first draft of this patch on Phab would do that (it would assert rather
than bail out).

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

llvm-svn: 323331
2018-01-24 15:20:37 +00:00
..
assume.ll [ValueTracking] Don't delete assumes of side-effectful instructions 2017-08-14 17:11:43 +00:00
deref-bitcast-of-gep.ll
dereferenceable-and-aligned.ll [Loads] Fix crash in is isDereferenceableAndAlignedPointer() 2016-10-28 15:32:28 +00:00
get-pointer-base-with-const-off.ll [ValueTracking] Fix crash in GetPointerBaseWithConstantOffset() 2016-10-07 14:23:29 +00:00
known-bits-from-range-md.ll
known-non-equal.ll
known-nonnull-at.ll [ValueTracking] use nonnull argument attribute to eliminate null checks 2017-02-12 15:35:34 +00:00
known-power-of-two.ll
known-signbit-shift.ll [ValueTracking] return zero when there's conflict in known bits of a shift (PR34838) 2017-10-12 17:31:46 +00:00
knownnonzero-shift.ll
knownzero-addrspacecast.ll Fix known zero bits for addrspacecast. 2016-11-21 15:42:31 +00:00
knownzero-shift.ll [InstSimplify] allow integer vector types to use computeKnownBits 2016-11-27 21:07:28 +00:00
memory-dereferenceable.ll Give up on array allocas in getPointerDereferenceableBytes 2017-12-20 10:01:30 +00:00
monotonic-phi.ll
non-negative-phi-bits.ll [ValueTracking] Adding missed lit-test for commit r316208 2018-01-04 10:02:50 +00:00
pr23011.ll
select-pattern.ll [ValueTracking] add recursion depth param to matchSelectPattern 2018-01-24 15:20:37 +00:00
signbits-extract-elt.ll [ValueTracking] Teach computeKnownBits and ComputeNumSignBits to look through ExtractElement. 2016-10-06 09:56:21 +00:00