[all-commits] [llvm/llvm-project] 35d916: [ValueTracking] Add tests for getting knownbits fr...

goldsteinn via All-commits all-commits at lists.llvm.org
Tue Aug 22 08:59:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 35d916e11be224ee2671c32d9efd00af928a2e3d
      https://github.com/llvm/llvm-project/commit/35d916e11be224ee2671c32d9efd00af928a2e3d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/phi-known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for getting knownbits from phi-edges; NFC

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


  Commit: fb92c0700bc502f152e147b91e3f73d6125e9c9d
      https://github.com/llvm/llvm-project/commit/fb92c0700bc502f152e147b91e3f73d6125e9c9d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for deducing non-zero based for incoming phi-edges; NFC

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


  Commit: 61df774ab7b7c630ba2a2f4e36cb8470e93c857b
      https://github.com/llvm/llvm-project/commit/61df774ab7b7c630ba2a2f4e36cb8470e93c857b
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Improve analysis of knownbits from incoming phi edges.

Just fill in missing cases (TODO) for `ugt`, `uge`, `sgt`, `sge`,
`slt`, and `sle`. These are all in the same spirit as `ult`/`uge`, but
each of the other conditions have different constraints.

Proofs: https://alive2.llvm.org/ce/z/gnj4o-

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


  Commit: 99d99eb3b03c975faf5e2bafed08b1c443071326
      https://github.com/llvm/llvm-project/commit/99d99eb3b03c975faf5e2bafed08b1c443071326
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M llvm/test/Transforms/JumpThreading/phi-known.ll

  Log Message:
  -----------
  [JumpThreading] Regenerate checks for  test; NFC

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


  Commit: 39e9862e6b9f3134911813782663462fc29f8ff3
      https://github.com/llvm/llvm-project/commit/39e9862e6b9f3134911813782663462fc29f8ff3
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/JumpThreading/phi-known.ll

  Log Message:
  -----------
  [ValueTracking] Use predicates for incoming phi-edges to deduce non-zero

This is basically a copy and paste of the same logic we do in
`computeKnownBits` but adapts it for just `isKnownNonZero`.

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


  Commit: 7c9fe735d440feeed09877b741492725c483bb55
      https://github.com/llvm/llvm-project/commit/7c9fe735d440feeed09877b741492725c483bb55
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll

  Log Message:
  -----------
  [ValueTracking] Strengthen analysis in `computeKnownBits` of phi

Use the comparison based analysis to strengthen the standard
knownbits analysis rather than choosing either/or.

Reviewed By: nikic

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


Compare: https://github.com/llvm/llvm-project/compare/4ffc63ab71e5...7c9fe735d440


More information about the All-commits mailing list