[DAGCombiner] Support all-ones/all-zeros SPLAT_VECTOR in more combines
authorFraser Cormack <fraser@codeplay.com>
Tue, 20 Apr 2021 13:30:27 +0000 (14:30 +0100)
committerFraser Cormack <fraser@codeplay.com>
Wed, 21 Apr 2021 10:05:37 +0000 (11:05 +0100)
commitc141bd3cf96681399a1c234e78ca71c5a98c6f40
tree83901d78e353699fb8d7526cb6909e5c7e96e918
parent3f02d269433e1c9b12dee9bf81ea3ec98c212548
[DAGCombiner] Support all-ones/all-zeros SPLAT_VECTOR in more combines

This patch adds incrementally-better support for SPLAT_VECTOR in a
handful of vector combines by changing a few more
isBuildVectorAllOnes/isBuildVectorAllZeros to the equivalent
isConstantSplatVectorAllOnes/Zeros calls.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D100851
12 files changed:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/sve-expand-div.ll
llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vor-sdnode-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vor-sdnode-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vselect-int-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vselect-int-rv64.ll