[all-commits] [llvm/llvm-project] 9fea6b: [InstCombine] Add tests for new eq/ne patterns com...

goldsteinn via All-commits all-commits at lists.llvm.org
Sat Nov 4 17:00:58 PDT 2023


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/eq-of-parts.ll

  Log Message:
  -----------
  [InstCombine] Add tests for new eq/ne patterns combining eq/ne by parts; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/eq-of-parts.ll

  Log Message:
  -----------
  [InstCombine] Improve eq/ne by parts to handle `ult/ugt` equality pattern.

(icmp eq/ne (lshr x, C), (lshr y, C) gets optimized to `(icmp
ult/uge (xor x, y), (1 << C)`. This can cause the current equal by
parts detection to miss the high-bits as it may get optimized to the
new pattern.

This commit adds support for detecting / combining the ult/ugt
pattern.

Closes #69884


Compare: https://github.com/llvm/llvm-project/compare/bceb6a1f2e14...ad9147399f19


More information about the All-commits mailing list