[all-commits] [llvm/llvm-project] daa803: [CodeGen] Support folds of not(cmp(cc, ...)) -> cm...

david-arm via All-commits all-commits at lists.llvm.org
Tue Feb 1 01:50:41 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: daa80339dfcb2a8cfea412cf918cbfae0c279fa0
      https://github.com/llvm/llvm-project/commit/daa80339dfcb2a8cfea412cf918cbfae0c279fa0
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2022-02-01 (Tue, 01 Feb 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-cmp-folds.ll
    A llvm/test/CodeGen/RISCV/rvv/cmp-folds.ll

  Log Message:
  -----------
  [CodeGen] Support folds of not(cmp(cc, ...)) -> cmp(!cc, ...) for scalable vectors

I have updated TargetLowering::isConstTrueVal to also consider
SPLAT_VECTOR nodes with constant integer operands. This allows the
optimisation to also work for targets that support scalable vectors.

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




More information about the All-commits mailing list