@@ -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) {
@@ -9556,11 +9553,8 @@ SDValue DAGCombiner::visitXOR(SDNode *N) {
95569553
95579554 // fold (a^b) -> (a|b) iff a and b share no bits.
95589555 if ((!LegalOperations || TLI.isOperationLegal(ISD::OR, VT)) &&
9559- DAG.haveNoCommonBitsSet(N0, N1)) {
9560- SDNodeFlags Flags;
9561- Flags.setDisjoint(true);
9562- return DAG.getNode(ISD::OR, DL, VT, N0, N1, Flags);
9563- }
9556+ DAG.haveNoCommonBitsSet(N0, N1))
9557+ return DAG.getNode(ISD::OR, DL, VT, N0, N1, SDNodeFlags::Disjoint);
95649558
95659559 // look for 'add-like' folds:
95669560 // XOR(N0,MIN_SIGNED_VALUE) == ADD(N0,MIN_SIGNED_VALUE)
@@ -10210,7 +10204,7 @@ SDValue DAGCombiner::visitSHL(SDNode *N) {
1021010204 SDNodeFlags Flags;
1021110205 // Preserve the disjoint flag for Or.
1021210206 if (N0.getOpcode() == ISD::OR && N0->getFlags().hasDisjoint())
10213- Flags.setDisjoint(true) ;
10207+ Flags |= SDNodeFlags::Disjoint ;
1021410208 return DAG.getNode(N0.getOpcode(), DL, VT, Shl0, Shl1, Flags);
1021510209 }
1021610210 }
@@ -13922,11 +13916,8 @@ SDValue DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
1392213916 // fold (sext x) -> (zext x) if the sign bit is known zero.
1392313917 if (!TLI.isSExtCheaperThanZExt(N0.getValueType(), VT) &&
1392413918 (!LegalOperations || TLI.isOperationLegal(ISD::ZERO_EXTEND, VT)) &&
13925- DAG.SignBitIsZero(N0)) {
13926- SDNodeFlags Flags;
13927- Flags.setNonNeg(true);
13928- return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, Flags);
13929- }
13919+ DAG.SignBitIsZero(N0))
13920+ return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, SDNodeFlags::NonNeg);
1393013921
1393113922 if (SDValue NewVSel = matchVSelectOpSizesWithSetCC(N))
1393213923 return NewVSel;
@@ -14807,10 +14798,9 @@ SDValue DAGCombiner::reduceLoadWidth(SDNode *N) {
1480714798 uint64_t PtrOff = PtrAdjustmentInBits / 8;
1480814799 SDLoc DL(LN0);
1480914800 // The original load itself didn't wrap, so an offset within it doesn't.
14810- SDNodeFlags Flags;
14811- Flags.setNoUnsignedWrap(true);
14812- SDValue NewPtr = DAG.getMemBasePlusOffset(
14813- LN0->getBasePtr(), TypeSize::getFixed(PtrOff), DL, Flags);
14801+ SDValue NewPtr =
14802+ DAG.getMemBasePlusOffset(LN0->getBasePtr(), TypeSize::getFixed(PtrOff),
14803+ DL, SDNodeFlags::NoUnsignedWrap);
1481414804 AddToWorklist(NewPtr.getNode());
1481514805
1481614806 SDValue Load;
0 commit comments