Skip to content

Commit f503034

Browse files
committed
Respond to first review comments
1 parent b27ce62 commit f503034

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed

llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4857,8 +4857,8 @@ static SDValue BitwiseToSrcModifierOp(SDValue N,
48574857
return SDValue();
48584858

48594859
SelectionDAG &DAG = DCI.DAG;
4860-
SDValue LHS = N.getNode()->getOperand(0);
4861-
SDValue RHS = N.getNode()->getOperand(1);
4860+
SDValue LHS = N->getOperand(0);
4861+
SDValue RHS = N->getOperand(1);
48624862
ConstantSDNode *CRHS = isConstOrConstSplat(RHS);
48634863

48644864
if (!CRHS)
@@ -4869,31 +4869,25 @@ static SDValue BitwiseToSrcModifierOp(SDValue N,
48694869
assert((VT == MVT::i32 || VT == MVT::v2i32 || VT == MVT::i64) &&
48704870
"Expected i32, v2i32 or i64 value type.");
48714871

4872-
uint64_t Mask = 0;
4873-
if (VT.isVector()) {
4874-
SDValue Splat = DAG.getSplatValue(RHS);
4875-
const ConstantSDNode *C = dyn_cast<ConstantSDNode>(Splat);
4876-
Mask = C->getZExtValue();
4877-
} else
4878-
Mask = CRHS->getZExtValue();
4879-
4872+
uint64_t Mask = CRHS->getZExtValue();
48804873
EVT FVT = IntToFloatVT(VT);
4881-
SDValue BC = DAG.getNode(ISD::BITCAST, SDLoc(N), FVT, LHS);
4874+
SDLoc SL = SDLoc(N);
4875+
SDValue BC = DAG.getNode(ISD::BITCAST, SL, FVT, LHS);
48824876

48834877
switch (Opc) {
48844878
case ISD::XOR:
48854879
if (Mask == 0x80000000u || Mask == 0x8000000000000000u)
4886-
return DAG.getNode(ISD::FNEG, SDLoc(N), FVT, BC);
4880+
return DAG.getNode(ISD::FNEG, SL, FVT, BC);
48874881
break;
48884882
case ISD::OR:
48894883
if (Mask == 0x80000000u || Mask == 0x8000000000000000u) {
48904884
SDValue Neg = DAG.getNode(ISD::FNEG, SDLoc(N), FVT, BC);
4891-
return DAG.getNode(ISD::FABS, SDLoc(N), FVT, Neg);
4885+
return DAG.getNode(ISD::FABS, SL, FVT, Neg);
48924886
}
48934887
break;
48944888
case ISD::AND:
48954889
if (Mask == 0x7fffffffu || Mask == 0x7fffffffffffffffu)
4896-
return DAG.getNode(ISD::FABS, SDLoc(N), FVT, BC);
4890+
return DAG.getNode(ISD::FABS, SL, FVT, BC);
48974891
break;
48984892
default:
48994893
return SDValue();
@@ -4945,12 +4939,10 @@ SDValue AMDGPUTargetLowering::performSelectCombine(SDNode *N,
49454939
// Support source modifiers as integer.
49464940
// (select c, (xor/or/and x, c), y) -> (bitcast (select c)))
49474941
if (VT == MVT::i32 || VT == MVT::v2i32 || VT == MVT::i64) {
4948-
SDLoc SL(N);
4949-
SDValue LHS = N->getOperand(1);
4950-
SDValue RHS = N->getOperand(2);
4951-
if (SDValue SrcMod = BitwiseToSrcModifierOp(LHS, DCI)) {
4942+
if (SDValue SrcMod = BitwiseToSrcModifierOp(True, DCI)) {
4943+
SDLoc SL(N);
49524944
EVT FVT = IntToFloatVT(VT);
4953-
SDValue FRHS = DAG.getNode(ISD::BITCAST, SL, FVT, RHS);
4945+
SDValue FRHS = DAG.getNode(ISD::BITCAST, SL, FVT, False);
49544946
SDValue FSelect = DAG.getNode(ISD::SELECT, SL, FVT, Cond, SrcMod, FRHS);
49554947
SDValue BC = DAG.getNode(ISD::BITCAST, SL, VT, FSelect);
49564948
return BC;

0 commit comments

Comments
 (0)