[all-commits] [llvm/llvm-project] 7888cf: [NFC][InstCombine] Add tests for umin reduction w/...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Mon Aug 2 13:02:49 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7888cfe7ef4f6e584022fbb23128b8b621ea69e4
      https://github.com/llvm/llvm-project/commit/7888cfe7ef4f6e584022fbb23128b8b621ea69e4
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-08-02 (Mon, 02 Aug 2021)

  Changed paths:
    A llvm/test/Transforms/InstCombine/reduction-umin-sext-zext-i1.ll

  Log Message:
  -----------
  [NFC][InstCombine] Add tests for umin reduction w/ i1 element type (PR51259)


  Commit: 0c137980565701bae7565d0aca999d3fa711822e
      https://github.com/llvm/llvm-project/commit/0c137980565701bae7565d0aca999d3fa711822e
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-08-02 (Mon, 02 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/reduction-umin-sext-zext-i1.ll

  Log Message:
  -----------
  [InstCombine] `vector_reduce_umin(?ext(<n x i1>))` --> `?ext(vector_reduce_and(<n x i1>))` (PR51259)

Alive2 agrees:
https://alive2.llvm.org/ce/z/XxUScW (self)
https://alive2.llvm.org/ce/z/3usTF- (zext)
https://alive2.llvm.org/ce/z/GVxwQz (sext)

We already handle `vector_reduce_and(<n x i1>)`,
so let's just combine into the already-handled pattern
and let the existing fold do the rest.


  Commit: 9d179ee3313bf18858ecc8a6dfc6b0f680573cfd
      https://github.com/llvm/llvm-project/commit/9d179ee3313bf18858ecc8a6dfc6b0f680573cfd
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-08-02 (Mon, 02 Aug 2021)

  Changed paths:
    A llvm/test/Transforms/InstCombine/reduction-umax-sext-zext-i1.ll

  Log Message:
  -----------
  [NFC][InstCombine] Add tests for umax reduction w/ i1 element type (PR51259)


  Commit: b9b7162b8bdc97ba5b4219fe3447fadc48b4a107
      https://github.com/llvm/llvm-project/commit/b9b7162b8bdc97ba5b4219fe3447fadc48b4a107
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-08-02 (Mon, 02 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/reduction-umax-sext-zext-i1.ll

  Log Message:
  -----------
  [InstCombine] `vector_reduce_umax(?ext(<n x i1>))` --> `?ext(vector_reduce_or(<n x i1>))` (PR51259)

Alive2 agrees:
https://alive2.llvm.org/ce/z/NbBaeT (self)
https://alive2.llvm.org/ce/z/iEaig4 (zext)
https://alive2.llvm.org/ce/z/meGb3y (sext)

We already handle `vector_reduce_and(<n x i1>)`,
so let's just combine into the already-handled pattern
and let the existing fold do the rest.


Compare: https://github.com/llvm/llvm-project/compare/317d70ea9184...b9b7162b8bdc


More information about the All-commits mailing list