@@ -1210,7 +1210,7 @@ SDValue DAGCombiner::reassociateOpsCommutative(unsigned Opc, const SDLoc &DL,
12101210 SDNodeFlags NewFlags;
12111211 if (N0.getOpcode() == ISD::ADD && N0->getFlags().hasNoUnsignedWrap() &&
12121212 Flags.hasNoUnsignedWrap())
1213- NewFlags.setNoUnsignedWrap(true) ;
1213+ NewFlags = SDNodeFlags::NoUnsignedWrap ;
12141214
12151215 if (DAG.isConstantIntBuildVectorOrConstantInt(N1)) {
12161216 // Reassociate: (op (op x, c1), c2) -> (op x, (op c1, c2))
@@ -2892,11 +2892,11 @@ SDValue DAGCombiner::visitADDLike(SDNode *N) {
28922892 if (N->getFlags().hasNoUnsignedWrap() &&
28932893 N0->getFlags().hasNoUnsignedWrap() &&
28942894 N0.getOperand(0)->getFlags().hasNoUnsignedWrap()) {
2895- Flags.setNoUnsignedWrap(true) ;
2895+ Flags = SDNodeFlags::NoUnsignedWrap ;
28962896 if (N->getFlags().hasNoSignedWrap() &&
28972897 N0->getFlags().hasNoSignedWrap() &&
28982898 N0.getOperand(0)->getFlags().hasNoSignedWrap())
2899- Flags.setNoSignedWrap(true) ;
2899+ Flags |= SDNodeFlags::NoSignedWrap ;
29002900 }
29012901 SDValue Mul = DAG.getNode(ISD::MUL, SDLoc(N1), VT, A,
29022902 DAG.getConstant(CM, DL, VT), Flags);
@@ -2920,12 +2920,12 @@ SDValue DAGCombiner::visitADDLike(SDNode *N) {
29202920 N0->getFlags().hasNoUnsignedWrap() &&
29212921 OMul->getFlags().hasNoUnsignedWrap() &&
29222922 OMul.getOperand(0)->getFlags().hasNoUnsignedWrap()) {
2923- Flags.setNoUnsignedWrap(true) ;
2923+ Flags = SDNodeFlags::NoUnsignedWrap ;
29242924 if (N->getFlags().hasNoSignedWrap() &&
29252925 N0->getFlags().hasNoSignedWrap() &&
29262926 OMul->getFlags().hasNoSignedWrap() &&
29272927 OMul.getOperand(0)->getFlags().hasNoSignedWrap())
2928- Flags.setNoSignedWrap(true) ;
2928+ Flags |= SDNodeFlags::NoSignedWrap ;
29292929 }
29302930 SDValue Mul = DAG.getNode(ISD::MUL, SDLoc(N1), VT, A,
29312931 DAG.getConstant(CM, DL, VT), Flags);
@@ -2987,11 +2987,8 @@ SDValue DAGCombiner::visitADD(SDNode *N) {
29872987
29882988 // fold (a+b) -> (a|b) iff a and b share no bits.
29892989 if ((!LegalOperations || TLI.isOperationLegal(ISD::OR, VT)) &&
2990- DAG.haveNoCommonBitsSet(N0, N1)) {
2991- SDNodeFlags Flags;
2992- Flags.setDisjoint(true);
2993- return DAG.getNode(ISD::OR, DL, VT, N0, N1, Flags);
2994- }
2990+ DAG.haveNoCommonBitsSet(N0, N1))
2991+ return DAG.getNode(ISD::OR, DL, VT, N0, N1, SDNodeFlags::Disjoint);
29952992
29962993 // Fold (add (vscale * C0), (vscale * C1)) to (vscale * (C0 + C1)).
29972994 if (N0.getOpcode() == ISD::VSCALE && N1.getOpcode() == ISD::VSCALE) {
@@ -9547,11 +9544,8 @@ SDValue DAGCombiner::visitXOR(SDNode *N) {
95479544
95489545 // fold (a^b) -> (a|b) iff a and b share no bits.
95499546 if ((!LegalOperations || TLI.isOperationLegal(ISD::OR, VT)) &&
9550- DAG.haveNoCommonBitsSet(N0, N1)) {
9551- SDNodeFlags Flags;
9552- Flags.setDisjoint(true);
9553- return DAG.getNode(ISD::OR, DL, VT, N0, N1, Flags);
9554- }
9547+ DAG.haveNoCommonBitsSet(N0, N1))
9548+ return DAG.getNode(ISD::OR, DL, VT, N0, N1, SDNodeFlags::Disjoint);
95559549
95569550 // look for 'add-like' folds:
95579551 // XOR(N0,MIN_SIGNED_VALUE) == ADD(N0,MIN_SIGNED_VALUE)
@@ -10201,7 +10195,7 @@ SDValue DAGCombiner::visitSHL(SDNode *N) {
1020110195 SDNodeFlags Flags;
1020210196 // Preserve the disjoint flag for Or.
1020310197 if (N0.getOpcode() == ISD::OR && N0->getFlags().hasDisjoint())
10204- Flags.setDisjoint(true) ;
10198+ Flags = SDNodeFlags::Disjoint ;
1020510199 return DAG.getNode(N0.getOpcode(), DL, VT, Shl0, Shl1, Flags);
1020610200 }
1020710201 }
@@ -13913,11 +13907,8 @@ SDValue DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
1391313907 // fold (sext x) -> (zext x) if the sign bit is known zero.
1391413908 if (!TLI.isSExtCheaperThanZExt(N0.getValueType(), VT) &&
1391513909 (!LegalOperations || TLI.isOperationLegal(ISD::ZERO_EXTEND, VT)) &&
13916- DAG.SignBitIsZero(N0)) {
13917- SDNodeFlags Flags;
13918- Flags.setNonNeg(true);
13919- return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, Flags);
13920- }
13910+ DAG.SignBitIsZero(N0))
13911+ return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, SDNodeFlags::NonNeg);
1392113912
1392213913 if (SDValue NewVSel = matchVSelectOpSizesWithSetCC(N))
1392313914 return NewVSel;
@@ -14798,10 +14789,9 @@ SDValue DAGCombiner::reduceLoadWidth(SDNode *N) {
1479814789 uint64_t PtrOff = PtrAdjustmentInBits / 8;
1479914790 SDLoc DL(LN0);
1480014791 // The original load itself didn't wrap, so an offset within it doesn't.
14801- SDNodeFlags Flags;
14802- Flags.setNoUnsignedWrap(true);
14803- SDValue NewPtr = DAG.getMemBasePlusOffset(
14804- LN0->getBasePtr(), TypeSize::getFixed(PtrOff), DL, Flags);
14792+ SDValue NewPtr =
14793+ DAG.getMemBasePlusOffset(LN0->getBasePtr(), TypeSize::getFixed(PtrOff),
14794+ DL, SDNodeFlags::NoUnsignedWrap);
1480514795 AddToWorklist(NewPtr.getNode());
1480614796
1480714797 SDValue Load;
0 commit comments