[all-commits] [llvm/llvm-project] 0e9fad: [InstCombine] add tests for or-xor-not patterns; NFC

Sanjay Patel via All-commits all-commits at lists.llvm.org
Thu Aug 18 14:15:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e9fada711f7a0ed84d0db5779be9bc7bb6b62c6
      https://github.com/llvm/llvm-project/commit/0e9fada711f7a0ed84d0db5779be9bc7bb6b62c6
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-08-18 (Thu, 18 Aug 2022)

  Changed paths:
    M llvm/test/Transforms/InstCombine/or-xor.ll

  Log Message:
  -----------
  [InstCombine] add tests for or-xor-not patterns; NFC


  Commit: b066195b3f026d319ee06b6c0285762d9a042a3a
      https://github.com/llvm/llvm-project/commit/b066195b3f026d319ee06b6c0285762d9a042a3a
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-08-18 (Thu, 18 Aug 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/or-xor.ll

  Log Message:
  -----------
  [InstCombine] fold bitwise logic or+or+xor+not

(~A | C) | (A ^ B) --> ~(A & B) | C
https://alive2.llvm.org/ce/z/Qw3aiJ

This extends the existing fold (just above the new match)
to peek through another 'or' instruction.

This should let the motivating case from issue #57174
simplify completely.


Compare: https://github.com/llvm/llvm-project/compare/b3ab3bece0bf...b066195b3f02


More information about the All-commits mailing list