Lines Matching defs:CurDAG

180       return CurDAG->getTargetConstant(Imm, dl, MVT::i16);
186 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
192 return CurDAG->getTargetConstant(Imm, dl, MVT::i64);
197 return CurDAG->getSignedTargetConstant(
198 Imm, dl, PPCLowering->getPointerTy(CurDAG->getDataLayout()));
250 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
258 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
266 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
274 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
281 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
289 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG,
297 return PPCLowering->SelectForceXFormMode(N, Disp, Base, *CurDAG) ==
308 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG,
319 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG,
330 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG,
337 return PPCLowering->SelectAddressRegRegOnly(N, Base, Index, *CurDAG);
346 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG,
354 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, Align(4));
361 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG,
369 return PPCLowering->SelectAddressRegImm34(N, Disp, Base, *CurDAG);
406 SDValue RC = CurDAG->getTargetConstant(TRC->getID(), dl, MVT::i32);
408 SDValue(CurDAG->getMachineNode(TargetOpcode::COPY_TO_REGCLASS,
474 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) == MVT::i32) {
513 return CurDAG->getRegister(GlobalBaseReg,
514 PPCLowering->getPointerTy(CurDAG->getDataLayout()))
645 SDValue TFI = CurDAG->getTargetFrameIndex(FI, N->getValueType(0));
648 CurDAG->SelectNodeTo(SN, Opc, N->getValueType(0), TFI,
651 ReplaceNode(SN, CurDAG->getMachineNode(Opc, dl, N->getValueType(0), TFI,
699 static bool isThreadPointerAcquisitionNode(SDValue Base, SelectionDAG *CurDAG) {
704 CurDAG->getMachineFunction().getSubtarget<PPCSubtarget>();
743 static bool canOptimizeTLSDFormToXForm(SelectionDAG *CurDAG, SDValue Base) {
746 if (CurDAG->getTarget().getOptLevel() == CodeGenOptLevel::None)
773 return isThreadPointerAcquisitionNode(Base, CurDAG);
778 if (!canOptimizeTLSDFormToXForm(CurDAG, Base))
818 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops);
826 if (!canOptimizeTLSDFormToXForm(CurDAG, Base))
871 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops);
884 KnownBits LKnown = CurDAG->computeKnownBits(Op0);
885 KnownBits RKnown = CurDAG->computeKnownBits(Op1);
929 KnownBits MKnown = CurDAG->computeKnownBits(Op1.getOperand(1));
945 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops));
952 static unsigned allUsesTruncate(SelectionDAG *CurDAG, SDNode *N) {
1019 static SDNode *selectI64ImmDirect(SelectionDAG *CurDAG, const SDLoc &dl,
1030 auto getI32Imm = [CurDAG, dl](unsigned Imm) {
1031 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
1039 SDValue SDImm = CurDAG->getTargetConstant(Imm, dl, MVT::i64);
1040 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm);
1045 return CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64,
1058 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16));
1059 return CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1069 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64,
1071 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0),
1094 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64,
1096 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1116 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64,
1118 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1126 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64,
1128 return CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64, SDValue(Result, 0),
1152 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64,
1154 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1166 CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, getI32Imm(ImmLo16));
1169 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(ImmHi16));
1173 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(ImmHi16));
1174 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
1180 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
1195 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16));
1196 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1198 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0),
1211 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64,
1213 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1215 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1225 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64,
1227 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1229 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1244 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16));
1245 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1247 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1260 static SDNode *selectI64ImmDirectPrefix(SelectionDAG *CurDAG, const SDLoc &dl,
1269 auto getI32Imm = [CurDAG, dl](unsigned Imm) {
1270 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
1273 auto getI64Imm = [CurDAG, dl](uint64_t Imm) {
1274 return CurDAG->getTargetConstant(Imm, dl, MVT::i64);
1283 return CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64,
1284 CurDAG->getTargetConstant(Imm, dl, MVT::i64));
1298 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64,
1300 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0),
1320 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64,
1322 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1333 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64,
1335 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0),
1352 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(RotImm));
1353 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
1362 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32));
1365 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
1372 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32));
1374 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Lo32));
1377 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
1380 static SDNode *selectI64Imm(SelectionDAG *CurDAG, const SDLoc &dl, uint64_t Imm,
1385 SDNode *Result = selectI64ImmDirect(CurDAG, dl, Imm, InstCntDirect);
1388 CurDAG->getMachineFunction().getSubtarget<PPCSubtarget>();
1395 SDNode *ResultP = selectI64ImmDirectPrefix(CurDAG, dl, Imm, InstCntDirectP);
1413 auto getI32Imm = [CurDAG, dl](unsigned Imm) {
1414 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
1427 auto getSplat = [CurDAG, dl, getI32Imm](uint32_t Hi16, uint32_t Lo16) {
1429 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(Hi16));
1430 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
1434 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
1443 Result = CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
1450 Result = CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, Ops);
1457 Result = CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, Ops);
1468 selectI64ImmDirect(CurDAG, dl, Imm & 0xffffffff00000000, InstCntDirect);
1471 Result = CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64,
1476 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0),
1486 static SDNode *selectI64Imm(SelectionDAG *CurDAG, SDNode *N) {
1491 if (unsigned MinSize = allUsesTruncate(CurDAG, N)) {
1493 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64);
1495 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm);
1497 return selectI64Imm(CurDAG, dl, Imm);
2115 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
2138 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
2139 SDValue ImDef = SDValue(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl,
2141 SDValue ExtVal = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl,
2152 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
2153 SDValue SubVal = SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl,
2218 VRot = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
2226 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32,
2231 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, VRot,
2241 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
2247 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
2278 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops),
2299 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
2305 Res = SDValue(CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops), 0);
2322 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32,
2327 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, Res,
2336 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
2382 return SDValue(CurDAG->getMachineNode(PPC::RLWINM8, dl, MVT::i64,
2390 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Ops), 0);
2397 return SDValue(CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64, Ops), 0);
2404 return SDValue(CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, Ops), 0);
2446 return SDValue(CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64,
2454 return SDValue(CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops), 0);
2544 selectI64Imm(CurDAG, dl, Mask, &NumOfSelectInsts);
2605 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64,
2611 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64,
2621 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2624 TotalVal = SDValue(selectI64Imm(CurDAG, dl, Mask), 0);
2626 SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64,
2634 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2755 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64,
2761 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64,
2771 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2776 SDValue(selectI64Imm(CurDAG, dl, Mask, &NumOfSelectInsts), 0);
2777 Res = SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64,
2825 SelectionDAG *CurDAG = nullptr;
2829 : CurDAG(DAG) {}
2844 LLVM_DEBUG(N->dump(CurDAG));
2881 SelectionDAG *CurDAG;
2925 PPCDAGToDAGISel *Sel) : CurDAG(DAG), S(Sel) {
2926 assert(CurDAG->getTargetLoweringInfo()
2927 .getPointerTy(CurDAG->getDataLayout()).getSizeInBits() == 64 &&
3008 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32);
3045 SDValue(CurDAG->getMachineNode(NewOpc, dl,
3052 SDValue(CurDAG->getMachineNode(NewOpc == -1 ? PPC::ANDI8_rec : NewOpc,
3062 CurDAG->getTargetConstant(SubRegToExtract, dl, MVT::i32);
3064 SDValue(CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl,
3100 return SDValue(CurDAG->getMachineNode(InVT == MVT::i32 ? PPC::RLDICL_32 :
3138 return SDValue(CurDAG->getMachineNode(NewOpc, dl, MVT::i64, LHS, RHS), 0);
3171 return SDValue(CurDAG->getMachineNode(PPC::EXTSW_32_64, dl,
3206 return SDValue(CurDAG->getMachineNode(PPC::RLDICL_32_64, dl, MVT::i64, Input,
3222 SDValue ImDef(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, MVT::i64), 0);
3224 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
3225 return SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, MVT::i64,
3234 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
3235 return SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, MVT::i32,
3252 ToExtend = SDValue(CurDAG->getMachineNode(Is32Bit ? PPC::NOR : PPC::NOR8,
3261 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
3263 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3268 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
3270 ToExtend = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
3280 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3285 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, ToExtend,
3294 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
3298 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, ToExtend,
3301 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, ToExtend,
3304 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, ToExtend,
3331 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3333 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
3336 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
3343 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3345 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
3349 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0);
3350 return SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift,
3381 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
3383 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Sub,
3387 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl,
3405 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
3406 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3431 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
3441 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3442 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3458 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
3460 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3463 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, SrdiNode,
3478 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3479 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3507 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3509 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, CountInput), 0);
3513 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, SHLOps), 0);
3514 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Slwi), 0);
3525 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3527 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
3531 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0);
3533 SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift,
3535 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Xori), 0);
3562 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, MVT::Glue,
3565 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3568 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Srdi,
3584 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
3585 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Neg,
3606 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, LHS,
3615 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3616 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3631 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
3633 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Subtract,
3636 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Shift,
3651 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3652 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3676 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3678 SDValue(CurDAG->getMachineNode(PPC::CNTLZD, dl, MVT::i64, Xor), 0);
3679 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Clz,
3689 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3691 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue,
3693 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, AC,
3716 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3720 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS,
3723 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3725 return SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3737 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
3740 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Addi, LHS), 0);
3741 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Nor,
3759 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3763 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3766 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3770 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3773 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3775 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
3787 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3790 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue,
3792 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64,
3804 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3807 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64,
3809 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64,
3835 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3837 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue,
3839 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, Addic,
3848 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3850 SDValue(CurDAG->getMachineNode(PPC::SUBFIC8, dl, MVT::i64, MVT::Glue,
3852 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, SC,
3875 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS,
3878 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3882 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3885 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3887 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, Adde), 0);
3898 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
3901 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Add, LHS), 0);
3902 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Nor,
3919 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, LHS,
3923 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3926 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3930 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3933 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64,
3936 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
3938 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64,
3950 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3953 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, LHS,
3955 return SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64,
3967 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3969 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64,
3979 static bool allUsesExtend(SDValue Compare, SelectionDAG *CurDAG) {
4011 if ((Compare.getOpcode() == ISD::SETCC) && !allUsesExtend(Compare, CurDAG))
4072 IntegerCompareEliminator ICmpElim(CurDAG, this);
4107 BitPermutationSelector BPS(CurDAG);
4132 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS,
4137 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS,
4150 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS, dl, MVT::i32, LHS,
4152 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, Xor,
4158 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS,
4164 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS,
4176 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS,
4181 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS,
4195 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS8, dl, MVT::i64, LHS,
4197 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, Xor,
4205 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS,
4211 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS,
4277 CurDAG->getMachineNode(Opc, dl, MVT::i32, MVT::Other, LHS, RHS, Chain),
4280 return SDValue(CurDAG->getMachineNode(Opc, dl, MVT::i32, LHS, RHS), 0);
4478 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout());
4494 Op = SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Op), 0);
4497 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4503 SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4505 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, AD, Op, AD.getValue(1));
4511 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4516 SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Op), 0);
4517 T = SDValue(CurDAG->getMachineNode(PPC::ANDC, dl, MVT::i32, T, Op), 0);
4520 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4530 Op = SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4532 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32,
4533 SDValue(CurDAG->getMachineNode(PPC::LI, dl,
4540 Op = SDValue(CurDAG->getMachineNode(PPC::NOR, dl, MVT::i32, Op, Op), 0);
4541 SDNode *AD = CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4543 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(AD, 0), Op,
4548 SDValue AD = SDValue(CurDAG->getMachineNode(PPC::ADDI, dl, MVT::i32, Op,
4550 SDValue AN = SDValue(CurDAG->getMachineNode(PPC::AND, dl, MVT::i32, AD,
4554 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4560 Op = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
4561 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Op, getI32Imm(1, dl));
4583 SDValue VCmp(CurDAG->getMachineNode(VCmpInst, dl, ResVT, LHS, RHS), 0);
4584 CurDAG->SelectNodeTo(N, Subtarget->hasVSX() ? PPC::XXLNOR : PPC::VNOR,
4589 CurDAG->SelectNodeTo(N, VCmpInst, ResVT, LHS, RHS);
4600 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 1), CCReg.getValue(1));
4610 SDValue CR7Reg = CurDAG->getRegister(PPC::CR7, MVT::i32);
4613 CCReg = CurDAG->getCopyToReg(CurDAG->getEntryNode(), dl, CR7Reg, CCReg,
4616 IntCR = SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR7Reg,
4622 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4628 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
4629 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Tmp, getI32Imm(1, dl));
4654 const MachineFrameInfo &MFI = CurDAG->getMachineFunction().getFrameInfo();
4674 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Result), {MemOp});
4885 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
4921 SDNode *NewDecrement = CurDAG->getMachineNode(DecrementOpcode, DecrementLoc,
4929 CurDAG->RemoveDeadNode(LHS.getNode());
4933 CurDAG->RemoveDeadNode(OldDecrement.getNode());
4935 SDValue Chain = CurDAG->getNode(ISD::TokenFactor, SDLoc(N), MVT::Other,
4938 CurDAG->SelectNodeTo(N, Opcode, MVT::Other, SDValue(NewDecrement, 0),
4958 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4967 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4999 CurDAG->SelectNodeTo(N, PPC::RLWINM8, MVT::i64, Ops);
5043 Val = SDValue(CurDAG->getMachineNode(PPC::RLDICL, Loc, MVT::i64, Val,
5056 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops);
5091 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops));
5123 CurDAG->SelectNodeTo(N, PPC::RLDCL, MVT::i64, Ops);
5146 auto ImDef = CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, ResultType);
5149 Val = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, ResultType,
5170 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops);
5188 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops);
5211 SDValue(selectI64Imm(CurDAG, getI64Imm(-1, Dl).getNode()), 0),
5213 CurDAG->SelectNodeTo(N, PPC::RLDIMI, MVT::i64, Ops);
5246 ReplaceNode(N, selectI64Imm(CurDAG, N));
5324 CurDAG->SelectNodeTo(N, Opcode, MVT::Other, OpsWithMD);
5338 CurDAG->SelectNodeTo(N, PPC::FSELS, MVT::f32, Ops);
5388 CurDAG->getTargetConstant(0, dl, MVT::i32)};
5389 SDValue BCDOp = SDValue(CurDAG->getMachineNode(Opcode, dl, VTs, Ops), 0);
5390 SDValue CR6Reg = CurDAG->getRegister(PPC::CR6, MVT::i32);
5394 SDValue SubRegIdx = CurDAG->getTargetConstant(SubReg, dl, MVT::i32);
5396 CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, MVT::i1,
5399 CurDAG->SelectNodeTo(N, Reverse ? PPC::SETBCR : PPC::SETBC, MVT::i32,
5403 SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR6Reg,
5409 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5412 CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
5413 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Shift, getI32Imm(1, dl));
5444 SDValue(CurDAG->getMachineNode(Opcode, dl, VTs, N->getOperand(2)), 0);
5447 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_eq, dl, MVT::i32);
5448 SDValue CR6Reg = CurDAG->getRegister(PPC::CR6, MVT::i32);
5450 CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, MVT::i1,
5453 CurDAG->SelectNodeTo(N, PPC::SETBC, MVT::i32, CRBit);
5468 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
5504 ReplaceNode(N, CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32,
5510 ReplaceNode(N, CurDAG->getMachineNode(PPC::ReadTB, dl, MVT::i32, MVT::i32,
5517 CurDAG->getTargetConstant(*cast<ConstantSDNode>(N->getOperand(1))->
5522 CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, MVT::Glue,
5524 CurDAG->SelectNodeTo(N, PPC::ADDZE8, MVT::i64, SDValue(Op, 0),
5531 CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, MVT::Glue,
5533 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, SDValue(Op, 0),
5598 SDNode *MN = CurDAG->getMachineNode(
5600 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
5636 SDNode *MN = CurDAG->getMachineNode(
5638 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
5662 KnownBits LHSKnown = CurDAG->computeKnownBits(N->getOperand(0));
5687 SDNode *Lo = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
5691 CurDAG->SelectNodeTo(N, PPC::ORIS8, MVT::i64, Ops1);
5710 SDNode *Lo = CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
5714 CurDAG->SelectNodeTo(N, PPC::XORIS8, MVT::i64, Ops1);
5738 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5752 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5780 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64);
5781 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI8, dl, MVT::i64,
5786 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops);
5789 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i32);
5790 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI, dl, MVT::i32,
5795 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5811 SDValue AndI(CurDAG->getMachineNode(Opcode, dl, InVT, MVT::Glue,
5813 CurDAG->getTargetConstant(1, dl, InVT)),
5815 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32);
5816 SDValue SRIdxVal = CurDAG->getTargetConstant(
5820 CurDAG->SelectNodeTo(N, TargetOpcode::EXTRACT_SUBREG, MVT::i1, CR0Reg,
5827 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout());
5837 if (mayUseP9Setb(N, CC, CurDAG, NeedSwapOps, IsUnCmp)) {
5851 CurDAG->SelectNodeTo(
5866 CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
5868 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(Tmp, 0),
5889 SDValue CCBit = CurDAG->getTargetExtractSubreg(SRI, dl, MVT::i1, CCReg);
5891 SDValue NotCCBit(CurDAG->getMachineNode(PPC::CRNOR, dl, MVT::i1,
5896 SDValue CAndT(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
5898 SDValue NotCAndF(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
5901 CurDAG->SelectNodeTo(N, PPC::CROR, MVT::i1, CAndT, NotCAndF);
5939 CurDAG->SelectNodeTo(N, SelectCCOp, N->getValueType(0), Ops);
5970 SDNode *NewN = CurDAG->SelectNodeTo(N, PPC::LXVDSX,
5972 CurDAG->setNodeMemRefs(cast<MachineSDNode>(NewN), {MemOp});
5986 SDValue DMV = CurDAG->getTargetConstant(DM[1] | (DM[0] << 1), dl,
5989 CurDAG->SelectNodeTo(N, PPC::XXPERMDI, N->getValueType(0), Ops);
5998 CurDAG->SelectNodeTo(N, N->getOpcode() == PPCISD::BDNZ
6018 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
6052 SDValue BitComp(CurDAG->getMachineNode(Opc, dl, MVT::i1,
6055 CurDAG->SelectNodeTo(N, PPC::BC, MVT::Other, BitComp, N->getOperand(4),
6066 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
6075 Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, Target,
6077 CurDAG->SelectNodeTo(N, Reg, MVT::Other, Chain);
6108 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, TocBase, GA);
6110 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, GA, TocBase);
6179 SDNode *Tmp = CurDAG->getMachineNode(
6186 N, CurDAG->getMachineNode(isPPC64 ? PPC::ADDItocL8 : PPC::ADDItocL,
6194 SDNode *MN = CurDAG->getMachineNode(
6204 ReplaceNode(N, CurDAG->getMachineNode(PPC::ADDItocL8, dl, MVT::i64,
6212 CurDAG->SelectNodeTo(N, PPC::PPC32PICGOT,
6213 PPCLowering->getPointerTy(CurDAG->getDataLayout()),
6255 SDNode *Tmp = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6257 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, TmpVal, TmpVal));
6267 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6269 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6270 ReplaceNode(N, CurDAG->getMachineNode(Opc3, dl, VT, SDValue(Tmp1, 0),
6281 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6283 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6284 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, SDValue(Tmp1, 0),
6310 CurDAG->getRegister(Subtarget->isPPC64() ? PPC::ZERO8 : PPC::ZERO,
6331 SDNode *Mask = CurDAG->getMachineNode(
6336 CurDAG->getMachineNode(PPC::LVX, dl, MVT::v16i8, MVT::Other,
6341 LoadHigh = CurDAG->getMachineNode(
6343 {SDValue(CurDAG->getMachineNode(
6345 CurDAG->getTargetConstant(1, dl, MVT::i8)),
6350 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 1), SDValue(LoadHigh, 1));
6354 CurDAG->getMachineNode(PPC::VPERM, dl, Type, SDValue(LoadLow, 0),
6356 CurDAG->SelectNodeTo(N, SplatOp, Type,
6357 CurDAG->getTargetConstant(SplatElemIndex, dl, MVT::i8),
6457 if (!CurDAG->MaskedValueIsZero(
6555 LHS = CurDAG->getAnyExtOrTrunc(LHS, dl, VT);
6556 RHS = CurDAG->getAnyExtOrTrunc(RHS, dl, VT);
6559 Res = CurDAG->getNode(PPCISD::CMPB, dl, VT, LHS, RHS);
6564 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
6565 CurDAG->getConstant(Mask, dl, VT));
6573 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
6574 CurDAG->getConstant(Mask ^ Alt, dl, VT));
6575 Res = CurDAG->getNode(ISD::XOR, dl, VT, Res,
6576 CurDAG->getConstant(Alt, dl, VT));
6607 SDValue ConstTrue = CurDAG->getSignedConstant(
6609 SDValue ConstFalse = CurDAG->getConstant(0, dl, VT);
6621 return CurDAG->FoldConstantArithmetic(User->getOpcode(), dl,
6642 Res = CurDAG->getSelect(dl, User->getValueType(0), Cond, TrueRes, FalseRes);
6650 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6653 while (Position != CurDAG->allnodes_begin()) {
6671 LLVM_DEBUG(N->dump(CurDAG));
6673 LLVM_DEBUG(Res.getNode()->dump(CurDAG));
6676 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), Res);
6682 CurDAG->RemoveDeadNodes();
6742 CurDAG->getMachineNode(User->getMachineOpcode(), SDLoc(User),
6748 LLVM_DEBUG(User->dump(CurDAG));
6750 LLVM_DEBUG(ResNode->dump(CurDAG));
6761 for (SDNode &Node : CurDAG->allnodes()) {
6838 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6842 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6848 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6853 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
6862 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6867 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6872 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6877 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6881 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6887 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6892 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
6904 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6914 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6920 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6925 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6934 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6938 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6943 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6954 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6960 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6965 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6974 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6978 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6983 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6988 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6994 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6999 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
7008 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7018 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7023 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7028 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7034 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7039 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7048 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
7052 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7057 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
7064 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7070 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
7075 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
7084 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7088 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7095 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7100 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
7106 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
7111 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
7132 ResNode = CurDAG->getMachineNode(MachineNode->getMachineOpcode(),
7143 ResNode = CurDAG->getMachineNode(Opcode == PPC::BC ? PPC::BCn :
7162 LLVM_DEBUG(MachineNode->dump(CurDAG));
7164 LLVM_DEBUG(ResNode->dump(CurDAG));
7172 CurDAG->RemoveDeadNodes();
7334 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
7337 while (Position != CurDAG->allnodes_begin()) {
7443 CurDAG->getMachineNode(TargetOpcode::INSERT_SUBREG, SDLoc(V),
7464 LLVM_DEBUG(PN->dump(CurDAG));
7466 CurDAG->SelectNodeTo(PN, NewOpcode, CurDAG->getVTList(NewVTs), Ops);
7469 LLVM_DEBUG(PN->dump(CurDAG));
7478 LLVM_DEBUG(N->dump(CurDAG));
7480 LLVM_DEBUG(Op32.getNode()->dump(CurDAG));
7487 CurDAG->RemoveDeadNodes();
7690 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
7692 while (Position != CurDAG->allnodes_begin()) {
7699 reduceVSXSwap(N, CurDAG);
7703 foldADDIForFasterLocalAccesses(N, CurDAG);
7806 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7842 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7862 ImmOpnd = CurDAG->getTargetConstant(Offset, SDLoc(ImmOpnd),
7867 if (isEligibleToFoldADDIForFasterLocalAccesses(CurDAG, Base)) {
7874 ImmOpnd = CurDAG->getTargetGlobalAddress(GA->getGlobal(), SDLoc(GA),
7887 LLVM_DEBUG(Base->dump(CurDAG));
7889 LLVM_DEBUG(N->dump(CurDAG));
7898 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7905 ImmOpnd = CurDAG->getTargetGlobalAddress(GV, dl, MVT::i64, Offset, Flags);
7909 ImmOpnd = CurDAG->getTargetConstantPool(C, MVT::i64, CP->getAlign(),
7915 (void)CurDAG->UpdateNodeOperands(N, N->getOperand(0), ImmOpnd,
7918 (void)CurDAG->UpdateNodeOperands(N, ImmOpnd, Base.getOperand(0),
7922 (void)CurDAG->UpdateNodeOperands(HBase.getNode(), HBase.getOperand(0),
7927 CurDAG->RemoveDeadNode(Base.getNode());