@@ -2493,7 +2493,8 @@ SDValue DAGCombiner::foldBinOpIntoSelect(SDNode *BO) {
24932493 return SelectOp;
24942494}
24952495
2496- static SDValue foldAddSubBoolOfMaskedVal(SDNode *N, SelectionDAG &DAG) {
2496+ static SDValue foldAddSubBoolOfMaskedVal(SDNode *N, const SDLoc &DL,
2497+ SelectionDAG &DAG) {
24972498 assert((N->getOpcode() == ISD::ADD || N->getOpcode() == ISD::SUB) &&
24982499 "Expecting add or sub");
24992500
@@ -2525,7 +2526,6 @@ static SDValue foldAddSubBoolOfMaskedVal(SDNode *N, SelectionDAG &DAG) {
25252526 // add (zext i1 (seteq (X & 1), 0)), C --> sub C+1, (zext (X & 1))
25262527 // sub C, (zext i1 (seteq (X & 1), 0)) --> add C-1, (zext (X & 1))
25272528 EVT VT = C.getValueType();
2528- SDLoc DL(N);
25292529 SDValue LowBit = DAG.getZExtOrTrunc(SetCC.getOperand(0), DL, VT);
25302530 SDValue C1 = IsAdd ? DAG.getConstant(CN->getAPIntValue() + 1, DL, VT) :
25312531 DAG.getConstant(CN->getAPIntValue() - 1, DL, VT);
@@ -2875,7 +2875,7 @@ SDValue DAGCombiner::visitADD(SDNode *N) {
28752875 if (SDValue Combined = visitADDLike(N))
28762876 return Combined;
28772877
2878- if (SDValue V = foldAddSubBoolOfMaskedVal(N, DAG))
2878+ if (SDValue V = foldAddSubBoolOfMaskedVal(N, DL, DAG))
28792879 return V;
28802880
28812881 if (SDValue V = foldAddSubOfSignBit(N, DAG))
@@ -3874,7 +3874,7 @@ SDValue DAGCombiner::visitSUB(SDNode *N) {
38743874 if (N1.isUndef())
38753875 return N1;
38763876
3877- if (SDValue V = foldAddSubBoolOfMaskedVal(N, DAG))
3877+ if (SDValue V = foldAddSubBoolOfMaskedVal(N, DL, DAG))
38783878 return V;
38793879
38803880 if (SDValue V = foldAddSubOfSignBit(N, DAG))
0 commit comments