[all-commits] [llvm/llvm-project] 45226d: [InstCombine] Reuse icmp of and/or folds for logic...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon May 23 06:37:45 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 45226d04f016cf2fdfa8e4d84b31650b975c58e1
      https://github.com/llvm/llvm-project/commit/45226d04f016cf2fdfa8e4d84b31650b975c58e1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-05-23 (Mon, 23 May 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp

  Log Message:
  -----------
  [InstCombine] Reuse icmp of and/or folds for logical and/or

Similarly to a change recently done for fcmps, add a flag that
indicates whether the and/or is logical to foldAndOrOfICmps, and
reuse the function when folding logical and/or.

We were already calling some parts of it, but this gives us a
clearer indication of which parts may need poison-safe variants,
and would also allow to fold combinations of bitwise and logical
and/or.

This change should be close to NFC, because all folds this enables
were either already called previously, or can make use of implied
poison reasoning.




More information about the All-commits mailing list