[all-commits] [llvm/llvm-project] 585af9: [InstCombine] Add tests `(cmp eq/ne (umax/uadd.sat...

goldsteinn via All-commits all-commits at lists.llvm.org
Sat Apr 29 10:39:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 585af9e39fc42000dcffaa7cc2b3b6467cce3fce
      https://github.com/llvm/llvm-project/commit/585af9e39fc42000dcffaa7cc2b3b6467cce3fce
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-04-29 (Sat, 29 Apr 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll

  Log Message:
  -----------
  [InstCombine] Add tests `(cmp eq/ne (umax/uadd.sat X, Y), 0)`; NFC

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


  Commit: ecad53c3f442df32149967a49803d22d98b2d2c7
      https://github.com/llvm/llvm-project/commit/ecad53c3f442df32149967a49803d22d98b2d2c7
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-04-29 (Sat, 29 Apr 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll

  Log Message:
  -----------
  [InstCombine] Don't fold `uadd.sat` to `or` if it increase instruction count

In the `(cmp eq/ne (uadd.sat X, Y),0)` case, we where missing a
`hasOneUse` check.

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


  Commit: dc13624e88d872b604fe35c05f290acc37f226ec
      https://github.com/llvm/llvm-project/commit/dc13624e88d872b604fe35c05f290acc37f226ec
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-04-29 (Sat, 29 Apr 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll

  Log Message:
  -----------
  [InstCombine] Fold `(cmp eq/ne (umax X, Y),0)` -> `(cmp eq/ne (or X, Y),0)`

`or` is almost always preferable.

Reviewed By: nikic

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


Compare: https://github.com/llvm/llvm-project/compare/df017ba9d33f...dc13624e88d8


More information about the All-commits mailing list