[all-commits] [llvm/llvm-project] 35d6ae: [InstCombine] Handle multi-use in simplifyAndOrWit...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Feb 8 00:45:03 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
      https://github.com/llvm/llvm-project/commit/35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] Handle multi-use in simplifyAndOrWithOpReplaced() (#81006)

Slightly generalize simplifyAndOrWithOpReplaced() by allowing it to
perform simplifications (without creating new instructions) in multi-use
cases. This way we can remove existing patterns without worrying about
multi-use edge cases.

I've opted to change the general way the implementation works to be more
similar to the standard simplifyWithOpReplaced(). We perform the operand
replacement generically, and then try to simplify the result or create a
new instruction if we're allowed to do so.




More information about the All-commits mailing list