[all-commits] [llvm/llvm-project] fde246: [SelectionDAG] Support scalable-vector splats in m...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Mon Jan 25 03:10:23 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fde24661718c7812a20a10e518cd853e8e060107
      https://github.com/llvm/llvm-project/commit/fde24661718c7812a20a10e518cd853e8e060107
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-01-25 (Mon, 25 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
    M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode-rv64.ll

  Log Message:
  -----------
  [SelectionDAG] Support scalable-vector splats in more cases

This patch adds support for scalable-vector splats in DAGCombiner's
`isConstantOrConstantVector` and `ISD::matchUnaryPredicate` functions,
which enable the SelectionDAG div/rem-by-constant optimizations for
scalable vector types.

It also fixes up one case where the UDIV optimization was generating a
SETCC without first consulting the target for its preferred SETCC result
type.

Reviewed By: craig.topper

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




More information about the All-commits mailing list