@@ -3970,9 +3970,9 @@ static SDValue getAArch64Cmp(SDValue LHS, SDValue RHS, ISD::CondCode CC,
39703970 SDValue SExt =
39713971 DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, LHS.getValueType(), LHS,
39723972 DAG.getValueType(MVT::i16));
3973- Cmp = emitComparison(SExt, DAG.getConstant(ValueofRHS, dl,
3974- RHS.getValueType()),
3975- CC, dl, DAG);
3973+ Cmp = emitComparison(
3974+ SExt, DAG.getSignedConstant(ValueofRHS, dl, RHS.getValueType()), CC ,
3975+ dl, DAG);
39763976 AArch64CC = changeIntCCToAArch64CC(CC);
39773977 }
39783978 }
@@ -4158,7 +4158,7 @@ SDValue AArch64TargetLowering::LowerXOR(SDValue Op, SelectionDAG &DAG) const {
41584158
41594159 FVal = Other;
41604160 TVal = DAG.getNode(ISD::XOR, dl, Other.getValueType(), Other,
4161- DAG.getConstant(-1ULL, dl, Other.getValueType()));
4161+ DAG.getAllOnesConstant( dl, Other.getValueType()));
41624162
41634163 return DAG.getNode(AArch64ISD::CSEL, dl, Sel.getValueType(), FVal, TVal,
41644164 CCVal, Cmp);
@@ -8966,7 +8966,8 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
89668966 // Each tail call may have to adjust the stack by a different amount, so
89678967 // this information must travel along with the operation for eventual
89688968 // consumption by emitEpilogue.
8969- Ops.push_back(DAG.getTargetConstant(FPDiff, DL, MVT::i32));
8969+ Ops.push_back(
8970+ DAG.getSignedConstant(FPDiff, DL, MVT::i32, /*isTarget=*/true));
89708971 }
89718972
89728973 if (CLI.PAI) {
@@ -11144,7 +11145,7 @@ SDValue AArch64TargetLowering::LowerAAPCS_VASTART(SDValue Op,
1114411145
1114511146 GRTop = DAG.getFrameIndex(FuncInfo->getVarArgsGPRIndex(), PtrVT);
1114611147 GRTop = DAG.getNode(ISD::ADD, DL, PtrVT, GRTop,
11147- DAG.getConstant (GPRSize, DL, PtrVT));
11148+ DAG.getSignedConstant (GPRSize, DL, PtrVT));
1114811149 GRTop = DAG.getZExtOrTrunc(GRTop, DL, PtrMemVT);
1114911150
1115011151 MemOps.push_back(DAG.getStore(Chain, DL, GRTop, GRTopAddr,
@@ -11162,7 +11163,7 @@ SDValue AArch64TargetLowering::LowerAAPCS_VASTART(SDValue Op,
1116211163
1116311164 VRTop = DAG.getFrameIndex(FuncInfo->getVarArgsFPRIndex(), PtrVT);
1116411165 VRTop = DAG.getNode(ISD::ADD, DL, PtrVT, VRTop,
11165- DAG.getConstant (FPRSize, DL, PtrVT));
11166+ DAG.getSignedConstant (FPRSize, DL, PtrVT));
1116611167 VRTop = DAG.getZExtOrTrunc(VRTop, DL, PtrMemVT);
1116711168
1116811169 MemOps.push_back(DAG.getStore(Chain, DL, VRTop, VRTopAddr,
@@ -11175,15 +11176,15 @@ SDValue AArch64TargetLowering::LowerAAPCS_VASTART(SDValue Op,
1117511176 SDValue GROffsAddr = DAG.getNode(ISD::ADD, DL, PtrVT, VAList,
1117611177 DAG.getConstant(Offset, DL, PtrVT));
1117711178 MemOps.push_back(
11178- DAG.getStore(Chain, DL, DAG.getConstant (-GPRSize, DL, MVT::i32),
11179+ DAG.getStore(Chain, DL, DAG.getSignedConstant (-GPRSize, DL, MVT::i32),
1117911180 GROffsAddr, MachinePointerInfo(SV, Offset), Align(4)));
1118011181
1118111182 // int __vr_offs at offset 28 (16 on ILP32)
1118211183 Offset += 4;
1118311184 SDValue VROffsAddr = DAG.getNode(ISD::ADD, DL, PtrVT, VAList,
1118411185 DAG.getConstant(Offset, DL, PtrVT));
1118511186 MemOps.push_back(
11186- DAG.getStore(Chain, DL, DAG.getConstant (-FPRSize, DL, MVT::i32),
11187+ DAG.getStore(Chain, DL, DAG.getSignedConstant (-FPRSize, DL, MVT::i32),
1118711188 VROffsAddr, MachinePointerInfo(SV, Offset), Align(4)));
1118811189
1118911190 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, MemOps);
@@ -15620,7 +15621,7 @@ SDValue AArch64TargetLowering::LowerATOMIC_LOAD_AND(SDValue Op,
1562015621 assert(VT != MVT::i128 && "Handled elsewhere, code replicated.");
1562115622 SDValue RHS = Op.getOperand(2);
1562215623 AtomicSDNode *AN = cast<AtomicSDNode>(Op.getNode());
15623- RHS = DAG.getNode(ISD::XOR, dl, VT, DAG.getConstant(-1ULL, dl, VT), RHS);
15624+ RHS = DAG.getNode(ISD::XOR, dl, VT, DAG.getAllOnesConstant( dl, VT), RHS);
1562415625 return DAG.getAtomic(ISD::ATOMIC_LOAD_CLR, dl, AN->getMemoryVT(),
1562515626 Op.getOperand(0), Op.getOperand(1), RHS,
1562615627 AN->getMemOperand());
@@ -21506,7 +21507,7 @@ static SDValue tryConvertSVEWideCompare(SDNode *N, ISD::CondCode CC,
2150621507 if (auto *CN = dyn_cast<ConstantSDNode>(Comparator.getOperand(0))) {
2150721508 int64_t ImmVal = CN->getSExtValue();
2150821509 if (ImmVal >= -16 && ImmVal <= 15)
21509- Imm = DAG.getConstant (ImmVal, DL, MVT::i32);
21510+ Imm = DAG.getSignedConstant (ImmVal, DL, MVT::i32);
2151021511 else
2151121512 return SDValue();
2151221513 }
@@ -24400,7 +24401,7 @@ static SDValue performSETCCCombine(SDNode *N,
2440024401 // this pattern will get better opt in emitComparison
2440124402 uint64_t TstImm = -1ULL << LHS->getConstantOperandVal(1);
2440224403 SDValue TST = DAG.getNode(ISD::AND, DL, TstVT, LHS->getOperand(0),
24403- DAG.getConstant (TstImm, DL, TstVT));
24404+ DAG.getSignedConstant (TstImm, DL, TstVT));
2440424405 return DAG.getNode(ISD::SETCC, DL, VT, TST, RHS, N->getOperand(2));
2440524406 }
2440624407 }
0 commit comments