llvm-project/llvm/test/Analysis/ValueTracking
Philip Reames e38ccb729b Recommit "Generalize getInvertibleOperand recurrence handling slightly"
This was reverted because of a reported problem.  It turned out this patch didn't introduce said problem, it just exposed it more widely.  15a4233 fixes the root issue, so this simple a) rebases over that, and b) adds a much more extensive comment explaining why that weakened assert is correct.

Original commit message follows:

Follow up to D99912, specifically the revert, fix, and reapply thereof.

This generalizes the invertible recurrence logic in two ways:
* By allowing mismatching operand numbers of the phi, we can recurse through a pair of phi recurrences whose operand orders have not been canonicalized.
* By allowing recurrences through operand 1, we can invert these odd (but legal) recurrence.

Differential Revision: https://reviews.llvm.org/D100884
2021-05-03 16:40:56 -07:00
..
aarch64.irg.ll
assume-queries-counter.ll reland [InstCombine] convert assumes to operand bundles 2021-02-13 13:03:11 +01:00
assume.ll reland [InstCombine] convert assumes to operand bundles 2021-02-13 13:03:11 +01:00
deref-abstract-gc.ll [deref] Implement initial set of inference rules for deref-at-point 2021-03-24 16:20:41 -07:00
deref-bitcast-of-gep.ll Autogen some tests for ease of update 2021-03-22 11:06:29 -07:00
dereferenceable-and-aligned.ll
func-ptr-lsb.ll
gep-negative-issue.ll
get-pointer-base-with-const-off.ll
invariant.group.ll
known-bits-from-operator-constexpr.ll
known-bits-from-range-md.ll
known-non-equal.ll Recommit "Generalize getInvertibleOperand recurrence handling slightly" 2021-05-03 16:40:56 -07:00
known-nonnull-at.ll Allow nonnull/align attribute to accept poison 2021-01-20 11:31:23 +09:00
known-power-of-two.ll
knownzero-addrspacecast.ll
knownzero-shift.ll Reapply [InstSimplify] Remove known bits constant folding 2020-05-08 10:24:53 +02:00
memory-dereferenceable.ll [deref] Handle byval/byref/sret/inalloc/preallocated arguments for deref-at-point semantics 2021-03-25 14:47:31 -07:00
monotonic-phi.ll [ValueTracking] Don't require strictly positive for mul nsw recurrence 2021-04-14 19:39:59 +02:00
non-negative-phi-bits.ll
numsignbits-from-assume.ll
pr23011.ll
select-pattern.ll
shift-recurrence-knownbits.ll [knownbits] Preserve known bits for small shift recurrences 2021-02-11 17:56:36 -08:00
signbits-extract-elt.ll