[all-commits] [llvm/llvm-project] 9427fc: [ValueTracking] Add tests for `cmpExcludesZero` fo...

goldsteinn via All-commits all-commits at lists.llvm.org
Thu Oct 12 14:05:39 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9427fce6778c8d01a0519cd0382a0ae6a75b2d35
      https://github.com/llvm/llvm-project/commit/9427fce6778c8d01a0519cd0382a0ae6a75b2d35
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `cmpExcludesZero` for non-splat vecs; NFC


  Commit: dfda65c89272eb90c0377f6c15ad134fc902dab6
      https://github.com/llvm/llvm-project/commit/dfda65c89272eb90c0377f6c15ad134fc902dab6
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add support for non-splat vecs in cmpExcludesZero
Just a small QOL change.


  Commit: 444383e0d07cd5de3d60b25cf849fd0b68b6e974
      https://github.com/llvm/llvm-project/commit/444383e0d07cd5de3d60b25cf849fd0b68b6e974
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-power-of-two.ll
    M llvm/test/Transforms/InstSimplify/ctpop-pow2.ll

  Log Message:
  -----------
  [ValueTracking] Do more thorough non-zero check in `isKnownToBePowerOfTwo` when `OrZero` is no set.

We can cover more cases by directly checking if the result is
known-nonzero for common patterns when they are missing `OrZero`.

This patch add `isKnownNonZero` checks for `shl`, `lshr`, `and`, and `mul`.

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


  Commit: 968468af9c6808fa76304deb226f13ef85403e4a
      https://github.com/llvm/llvm-project/commit/968468af9c6808fa76304deb226f13ef85403e4a
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    A llvm/test/Transforms/InstCombine/shift-flags.ll

  Log Message:
  -----------
  [InstCombine] Tests for adding flags to shifts; NFC

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


  Commit: 2dd52b4527667837cc525aa48435ab5cbfa30a0b
      https://github.com/llvm/llvm-project/commit/2dd52b4527667837cc525aa48435ab5cbfa30a0b
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Analysis/ValueTracking/known-power-of-two.ll
    M llvm/test/Transforms/InstCombine/and-add-shl.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-pr49778.ll
    M llvm/test/Transforms/InstCombine/rotate.ll
    M llvm/test/Transforms/InstCombine/shift-flags.ll
    M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc.ll

  Log Message:
  -----------
  [InstCombine] Improve logic for adding flags to shift instructions.

Instead of relying on constant operands, use known bits to do the
computation.

Proofs: https://alive2.llvm.org/ce/z/M-aBnw

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


Compare: https://github.com/llvm/llvm-project/compare/2ae3a7123048...2dd52b452766


More information about the All-commits mailing list