Skip to content

Commit 1e05236

Browse files
[Target] Use isNullConstant (NFC)
1 parent 1fe7bdb commit 1e05236

File tree

3 files changed

+9
-22
lines changed

3 files changed

+9
-22
lines changed

llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1579,13 +1579,9 @@ bool AMDGPUDAGToDAGISel::SelectMUBUFOffset(SDValue Addr, SDValue &SRsrc,
15791579

15801580
bool AMDGPUDAGToDAGISel::SelectBUFSOffset(SDValue ByteOffsetNode,
15811581
SDValue &SOffset) const {
1582-
if (Subtarget->hasRestrictedSOffset()) {
1583-
if (auto SOffsetConst = dyn_cast<ConstantSDNode>(ByteOffsetNode)) {
1584-
if (SOffsetConst->isZero()) {
1585-
SOffset = CurDAG->getRegister(AMDGPU::SGPR_NULL, MVT::i32);
1586-
return true;
1587-
}
1588-
}
1582+
if (Subtarget->hasRestrictedSOffset() && isNullConstant(ByteOffsetNode)) {
1583+
SOffset = CurDAG->getRegister(AMDGPU::SGPR_NULL, MVT::i32);
1584+
return true;
15891585
}
15901586

15911587
SOffset = ByteOffsetNode;

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8181,12 +8181,8 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
81818181
// SGPR_NULL to avoid generating an extra s_mov with zero.
81828182
static SDValue selectSOffset(SDValue SOffset, SelectionDAG &DAG,
81838183
const GCNSubtarget *Subtarget) {
8184-
if (Subtarget->hasRestrictedSOffset())
8185-
if (auto SOffsetConst = dyn_cast<ConstantSDNode>(SOffset)) {
8186-
if (SOffsetConst->isZero()) {
8187-
return DAG.getRegister(AMDGPU::SGPR_NULL, MVT::i32);
8188-
}
8189-
}
8184+
if (Subtarget->hasRestrictedSOffset() && isNullConstant(SOffset))
8185+
return DAG.getRegister(AMDGPU::SGPR_NULL, MVT::i32);
81908186
return SOffset;
81918187
}
81928188

llvm/lib/Target/MSP430/MSP430ISelLowering.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,15 +1149,10 @@ SDValue MSP430TargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
11491149
// but they are different from CMP.
11501150
// FIXME: since we're doing a post-processing, use a pseudoinstr here, so
11511151
// lowering & isel wouldn't diverge.
1152-
bool andCC = false;
1153-
if (ConstantSDNode *RHSC = dyn_cast<ConstantSDNode>(RHS)) {
1154-
if (RHSC->isZero() && LHS.hasOneUse() &&
1155-
(LHS.getOpcode() == ISD::AND ||
1156-
(LHS.getOpcode() == ISD::TRUNCATE &&
1157-
LHS.getOperand(0).getOpcode() == ISD::AND))) {
1158-
andCC = true;
1159-
}
1160-
}
1152+
bool andCC = isNullConstant(RHS) && LHS.hasOneUse() &&
1153+
(LHS.getOpcode() == ISD::AND ||
1154+
(LHS.getOpcode() == ISD::TRUNCATE &&
1155+
LHS.getOperand(0).getOpcode() == ISD::AND));
11611156
ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
11621157
SDValue TargetCC;
11631158
SDValue Flag = EmitCMP(LHS, RHS, TargetCC, CC, dl, DAG);

0 commit comments

Comments
 (0)