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->getTargetConstant(
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 ||
5477 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
5505 ReplaceNode(N, CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32,
5511 ReplaceNode(N, CurDAG->getMachineNode(PPC::ReadTB, dl, MVT::i32, MVT::i32,
5518 CurDAG->getTargetConstant(*cast<ConstantSDNode>(N->getOperand(1))->
5523 CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, MVT::Glue,
5525 CurDAG->SelectNodeTo(N, PPC::ADDZE8, MVT::i64, SDValue(Op, 0),
5532 CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, MVT::Glue,
5534 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, SDValue(Op, 0),
5599 SDNode *MN = CurDAG->getMachineNode(
5601 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
5637 SDNode *MN = CurDAG->getMachineNode(
5639 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
5663 KnownBits LHSKnown = CurDAG->computeKnownBits(N->getOperand(0));
5688 SDNode *Lo = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
5692 CurDAG->SelectNodeTo(N, PPC::ORIS8, MVT::i64, Ops1);
5711 SDNode *Lo = CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
5715 CurDAG->SelectNodeTo(N, PPC::XORIS8, MVT::i64, Ops1);
5739 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5753 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5781 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64);
5782 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI8, dl, MVT::i64,
5787 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops);
5790 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i32);
5791 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI, dl, MVT::i32,
5796 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
5812 SDValue AndI(CurDAG->getMachineNode(Opcode, dl, InVT, MVT::Glue,
5814 CurDAG->getTargetConstant(1, dl, InVT)),
5816 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32);
5817 SDValue SRIdxVal = CurDAG->getTargetConstant(
5821 CurDAG->SelectNodeTo(N, TargetOpcode::EXTRACT_SUBREG, MVT::i1, CR0Reg,
5828 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout());
5838 if (mayUseP9Setb(N, CC, CurDAG, NeedSwapOps, IsUnCmp)) {
5852 CurDAG->SelectNodeTo(
5867 CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
5869 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(Tmp, 0),
5890 SDValue CCBit = CurDAG->getTargetExtractSubreg(SRI, dl, MVT::i1, CCReg);
5892 SDValue NotCCBit(CurDAG->getMachineNode(PPC::CRNOR, dl, MVT::i1,
5897 SDValue CAndT(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
5899 SDValue NotCAndF(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
5902 CurDAG->SelectNodeTo(N, PPC::CROR, MVT::i1, CAndT, NotCAndF);
5940 CurDAG->SelectNodeTo(N, SelectCCOp, N->getValueType(0), Ops);
5971 SDNode *NewN = CurDAG->SelectNodeTo(N, PPC::LXVDSX,
5973 CurDAG->setNodeMemRefs(cast<MachineSDNode>(NewN), {MemOp});
5987 SDValue DMV = CurDAG->getTargetConstant(DM[1] | (DM[0] << 1), dl,
5990 CurDAG->SelectNodeTo(N, PPC::XXPERMDI, N->getValueType(0), Ops);
5999 CurDAG->SelectNodeTo(N, N->getOpcode() == PPCISD::BDNZ
6019 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
6053 SDValue BitComp(CurDAG->getMachineNode(Opc, dl, MVT::i1,
6056 CurDAG->SelectNodeTo(N, PPC::BC, MVT::Other, BitComp, N->getOperand(4),
6067 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
6076 Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, Target,
6078 CurDAG->SelectNodeTo(N, Reg, MVT::Other, Chain);
6109 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, TocBase, GA);
6111 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, GA, TocBase);
6180 SDNode *Tmp = CurDAG->getMachineNode(
6187 N, CurDAG->getMachineNode(isPPC64 ? PPC::ADDItocL8 : PPC::ADDItocL,
6195 SDNode *MN = CurDAG->getMachineNode(
6205 ReplaceNode(N, CurDAG->getMachineNode(PPC::ADDItocL8, dl, MVT::i64,
6213 CurDAG->SelectNodeTo(N, PPC::PPC32PICGOT,
6214 PPCLowering->getPointerTy(CurDAG->getDataLayout()),
6256 SDNode *Tmp = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6258 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, TmpVal, TmpVal));
6268 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6270 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6271 ReplaceNode(N, CurDAG->getMachineNode(Opc3, dl, VT, SDValue(Tmp1, 0),
6282 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6284 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
6285 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, SDValue(Tmp1, 0),
6311 CurDAG->getRegister(Subtarget->isPPC64() ? PPC::ZERO8 : PPC::ZERO,
6332 SDNode *Mask = CurDAG->getMachineNode(
6337 CurDAG->getMachineNode(PPC::LVX, dl, MVT::v16i8, MVT::Other,
6342 LoadHigh = CurDAG->getMachineNode(
6344 {SDValue(CurDAG->getMachineNode(
6346 CurDAG->getTargetConstant(1, dl, MVT::i8)),
6351 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 1), SDValue(LoadHigh, 1));
6355 CurDAG->getMachineNode(PPC::VPERM, dl, Type, SDValue(LoadLow, 0),
6357 CurDAG->SelectNodeTo(N, SplatOp, Type,
6358 CurDAG->getTargetConstant(SplatElemIndex, dl, MVT::i8),
6458 if (!CurDAG->MaskedValueIsZero(
6556 LHS = CurDAG->getAnyExtOrTrunc(LHS, dl, VT);
6557 RHS = CurDAG->getAnyExtOrTrunc(RHS, dl, VT);
6560 Res = CurDAG->getNode(PPCISD::CMPB, dl, VT, LHS, RHS);
6565 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
6566 CurDAG->getConstant(Mask, dl, VT));
6574 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
6575 CurDAG->getConstant(Mask ^ Alt, dl, VT));
6576 Res = CurDAG->getNode(ISD::XOR, dl, VT, Res,
6577 CurDAG->getConstant(Alt, dl, VT));
6609 CurDAG->getConstant(N->getOpcode() == ISD::SIGN_EXTEND ? -1 : 1, dl, VT);
6610 SDValue ConstFalse = CurDAG->getConstant(0, dl, VT);
6622 return CurDAG->FoldConstantArithmetic(User->getOpcode(), dl,
6643 Res = CurDAG->getSelect(dl, User->getValueType(0), Cond, TrueRes, FalseRes);
6651 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6654 while (Position != CurDAG->allnodes_begin()) {
6672 LLVM_DEBUG(N->dump(CurDAG));
6674 LLVM_DEBUG(Res.getNode()->dump(CurDAG));
6677 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), Res);
6683 CurDAG->RemoveDeadNodes();
6743 CurDAG->getMachineNode(User->getMachineOpcode(), SDLoc(User),
6749 LLVM_DEBUG(User->dump(CurDAG));
6751 LLVM_DEBUG(ResNode->dump(CurDAG));
6762 for (SDNode &Node : CurDAG->allnodes()) {
6839 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6843 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6849 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6854 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
6863 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6868 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6873 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6878 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6882 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6888 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6893 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
6905 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6915 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6921 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6926 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6935 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6939 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6944 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6955 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6961 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6966 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
6975 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6979 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6984 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6989 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6995 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
7000 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
7009 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7019 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7024 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7029 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7035 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7040 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
7049 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
7053 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7058 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
7065 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7071 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
7076 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
7085 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7089 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
7096 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
7101 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
7107 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
7112 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
7133 ResNode = CurDAG->getMachineNode(MachineNode->getMachineOpcode(),
7144 ResNode = CurDAG->getMachineNode(Opcode == PPC::BC ? PPC::BCn :
7163 LLVM_DEBUG(MachineNode->dump(CurDAG));
7165 LLVM_DEBUG(ResNode->dump(CurDAG));
7173 CurDAG->RemoveDeadNodes();
7335 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
7338 while (Position != CurDAG->allnodes_begin()) {
7444 CurDAG->getMachineNode(TargetOpcode::INSERT_SUBREG, SDLoc(V),
7465 LLVM_DEBUG(PN->dump(CurDAG));
7467 CurDAG->SelectNodeTo(PN, NewOpcode, CurDAG->getVTList(NewVTs), Ops);
7470 LLVM_DEBUG(PN->dump(CurDAG));
7479 LLVM_DEBUG(N->dump(CurDAG));
7481 LLVM_DEBUG(Op32.getNode()->dump(CurDAG));
7488 CurDAG->RemoveDeadNodes();
7691 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
7693 while (Position != CurDAG->allnodes_begin()) {
7700 reduceVSXSwap(N, CurDAG);
7704 foldADDIForFasterLocalAccesses(N, CurDAG);
7807 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7843 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7863 ImmOpnd = CurDAG->getTargetConstant(Offset, SDLoc(ImmOpnd),
7868 if (isEligibleToFoldADDIForFasterLocalAccesses(CurDAG, Base)) {
7875 ImmOpnd = CurDAG->getTargetGlobalAddress(GA->getGlobal(), SDLoc(GA),
7888 LLVM_DEBUG(Base->dump(CurDAG));
7890 LLVM_DEBUG(N->dump(CurDAG));
7899 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout());
7906 ImmOpnd = CurDAG->getTargetGlobalAddress(GV, dl, MVT::i64, Offset, Flags);
7910 ImmOpnd = CurDAG->getTargetConstantPool(C, MVT::i64, CP->getAlign(),
7916 (void)CurDAG->UpdateNodeOperands(N, N->getOperand(0), ImmOpnd,
7919 (void)CurDAG->UpdateNodeOperands(N, ImmOpnd, Base.getOperand(0),
7923 (void)CurDAG->UpdateNodeOperands(HBase.getNode(), HBase.getOperand(0),
7928 CurDAG->RemoveDeadNode(Base.getNode());