[all-commits] [llvm/llvm-project] 573138: [InstCombine] Relax and reorganize one use checks ...

Stanislav Mekhanoshin via All-commits all-commits at lists.llvm.org
Wed Nov 10 10:14:28 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5731381594e07cead545c442db686f853ba59e8e
      https://github.com/llvm/llvm-project/commit/5731381594e07cead545c442db686f853ba59e8e
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

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

  Log Message:
  -----------
  [InstCombine] Relax and reorganize one use checks in the ~(a | b) & c

Since there is just a single check for LHS in ~(A | B) & C | ...
transforms and multiple RHS checks inside with more coming I am
removing m_OneUse checks for LHS and adding new checks for RHS.
This is non essential as long as there is total benefit.

In addition (~(A | B) & C) | (~(A | C) & B) --> (B ^ C) & ~A
checks were overly restrictive, it should be good without any
additional checks.

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




More information about the All-commits mailing list