[llvm] 1a8668c - [Target] Use isAllOnesConstant (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 26 22:57:50 PDT 2023
Author: Kazu Hirata
Date: 2023-03-26T22:57:39-07:00
New Revision: 1a8668cf0c13dfe04b7a6c0a2759f19a2060241b
URL: https://github.com/llvm/llvm-project/commit/1a8668cf0c13dfe04b7a6c0a2759f19a2060241b
DIFF: https://github.com/llvm/llvm-project/commit/1a8668cf0c13dfe04b7a6c0a2759f19a2060241b.diff
LOG: [Target] Use isAllOnesConstant (NFC)
Added:
Modified:
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index a20ad4056154d..d1eff67203c06 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -3652,12 +3652,6 @@ SDValue AMDGPUTargetLowering::performMulhuCombine(SDNode *N,
return DAG.getZExtOrTrunc(Mulhi, DL, VT);
}
-static bool isNegativeOne(SDValue Val) {
- if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val))
- return C->isAllOnes();
- return false;
-}
-
SDValue AMDGPUTargetLowering::getFFBX_U32(SelectionDAG &DAG,
SDValue Op,
const SDLoc &DL,
@@ -3700,7 +3694,7 @@ SDValue AMDGPUTargetLowering::performCtlz_CttzCombine(const SDLoc &SL, SDValue C
// select (setcc x, 0, eq), -1, (cttz_zero_undef x) -> ffbl_u32 x
if (CCOpcode == ISD::SETEQ &&
(isCtlzOpc(RHS.getOpcode()) || isCttzOpc(RHS.getOpcode())) &&
- RHS.getOperand(0) == CmpLHS && isNegativeOne(LHS)) {
+ RHS.getOperand(0) == CmpLHS && isAllOnesConstant(LHS)) {
unsigned Opc =
isCttzOpc(RHS.getOpcode()) ? AMDGPUISD::FFBL_B32 : AMDGPUISD::FFBH_U32;
return getFFBX_U32(DAG, CmpLHS, SL, Opc);
@@ -3710,7 +3704,7 @@ SDValue AMDGPUTargetLowering::performCtlz_CttzCombine(const SDLoc &SL, SDValue C
// select (setcc x, 0, ne), (cttz_zero_undef x), -1 -> ffbl_u32 x
if (CCOpcode == ISD::SETNE &&
(isCtlzOpc(LHS.getOpcode()) || isCttzOpc(LHS.getOpcode())) &&
- LHS.getOperand(0) == CmpLHS && isNegativeOne(RHS)) {
+ LHS.getOperand(0) == CmpLHS && isAllOnesConstant(RHS)) {
unsigned Opc =
isCttzOpc(LHS.getOpcode()) ? AMDGPUISD::FFBL_B32 : AMDGPUISD::FFBH_U32;
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
index aad626f3f06a7..fdc69ed30cbda 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -2868,8 +2868,7 @@ static SDValue splatPartsI64WithVL(const SDLoc &DL, MVT VT, SDValue Passthru,
// If vl is equal to XLEN_MAX and Hi constant is equal to Lo, we could use
// vmv.v.x whose EEW = 32 to lower it.
- auto *Const = dyn_cast<ConstantSDNode>(VL);
- if (LoC == HiC && Const && Const->isAllOnes()) {
+ if (LoC == HiC && isAllOnesConstant(VL)) {
MVT InterVT = MVT::getVectorVT(MVT::i32, VT.getVectorElementCount() * 2);
// TODO: if vl <= min(VLMAX), we can also do this. But we could not
// access the subtarget here now.
More information about the llvm-commits
mailing list