Lines Matching refs:CurDAG

168       return CurDAG->getTargetConstant(Imm, dl, MVT::i16);
174 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
180 return CurDAG->getTargetConstant(Imm, dl, MVT::i64);
185 return CurDAG->getTargetConstant(
186 Imm, dl, PPCLowering->getPointerTy(CurDAG->getDataLayout()));
242 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, 0);
252 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, 4);
262 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, 16);
268 return PPCLowering->SelectAddressRegRegOnly(N, Base, Index, *CurDAG);
277 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, 0);
284 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, 4);
291 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, 16);
323 SDValue RC = CurDAG->getTargetConstant(TRC->getID(), dl, MVT::i32);
325 SDValue(CurDAG->getMachineNode(TargetOpcode::COPY_TO_REGCLASS,
439 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) == MVT::i32) {
478 return CurDAG->getRegister(GlobalBaseReg,
479 PPCLowering->getPointerTy(CurDAG->getDataLayout()))
577 SDValue TFI = CurDAG->getTargetFrameIndex(FI, N->getValueType(0));
580 CurDAG->SelectNodeTo(SN, Opc, N->getValueType(0), TFI,
583 ReplaceNode(SN, CurDAG->getMachineNode(Opc, dl, N->getValueType(0), TFI,
666 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops);
707 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops);
720 KnownBits LKnown = CurDAG->computeKnownBits(Op0);
721 KnownBits RKnown = CurDAG->computeKnownBits(Op1);
765 KnownBits MKnown = CurDAG->computeKnownBits(Op1.getOperand(1));
781 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops));
888 static SDNode *selectI64ImmDirect(SelectionDAG *CurDAG, const SDLoc &dl,
919 auto getI32Imm = [CurDAG, dl](unsigned Imm) {
920 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
926 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64);
928 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm);
932 Result = CurDAG->getMachineNode(OpC, dl, MVT::i64, getI32Imm(Hi));
934 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
938 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(Hi));
949 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops);
954 Result = CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64,
962 Result = CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64,
966 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
973 static SDNode *selectI64Imm(SelectionDAG *CurDAG, const SDLoc &dl,
980 return selectI64ImmDirect(CurDAG, dl, Imm);
1022 return selectI64ImmDirect(CurDAG, dl, Imm);
1024 auto getI32Imm = [CurDAG, dl](unsigned Imm) {
1025 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
1028 SDValue Val = SDValue(selectI64ImmDirect(CurDAG, dl, MatImm), 0);
1029 return CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64, Val,
1033 static unsigned allUsesTruncate(SelectionDAG *CurDAG, SDNode *N) {
1090 static SDNode *selectI64Imm(SelectionDAG *CurDAG, SDNode *N) {
1095 if (unsigned MinSize = allUsesTruncate(CurDAG, N)) {
1097 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64);
1099 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm);
1101 return selectI64Imm(CurDAG, dl, Imm);
1707 return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
1730 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
1731 SDValue ImDef = SDValue(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl,
1733 SDValue ExtVal = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl,
1744 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
1745 SDValue SubVal = SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl,
1810 VRot = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
1818 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32,
1823 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, VRot,
1833 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
1839 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
1870 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops),
1891 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
1897 Res = SDValue(CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops), 0);
1914 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32,
1919 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, Res,
1928 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32,
1974 return SDValue(CurDAG->getMachineNode(PPC::RLWINM8, dl, MVT::i64,
1982 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Ops), 0);
1989 return SDValue(CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64, Ops), 0);
1996 return SDValue(CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, Ops), 0);
2038 return SDValue(CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64,
2046 return SDValue(CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops), 0);
2194 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64,
2200 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64,
2210 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2213 TotalVal = SDValue(selectI64Imm(CurDAG, dl, Mask), 0);
2215 SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64,
2223 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2344 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64,
2350 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64,
2360 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2365 SDValue MaskVal = SDValue(selectI64Imm(CurDAG, dl, Mask), 0);
2367 SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64,
2412 SelectionDAG *CurDAG = nullptr;
2416 : CurDAG(DAG) {}
2431 LLVM_DEBUG(N->dump(CurDAG));
2468 SelectionDAG *CurDAG;
2512 PPCDAGToDAGISel *Sel) : CurDAG(DAG), S(Sel) {
2513 assert(CurDAG->getTargetLoweringInfo()
2514 .getPointerTy(CurDAG->getDataLayout()).getSizeInBits() == 64 &&
2598 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32);
2635 SDValue(CurDAG->getMachineNode(NewOpc, dl,
2642 SDValue(CurDAG->getMachineNode(NewOpc == -1 ? PPC::ANDI8_rec : NewOpc,
2652 CurDAG->getTargetConstant(SubRegToExtract, dl, MVT::i32);
2654 SDValue(CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl,
2690 return SDValue(CurDAG->getMachineNode(InVT == MVT::i32 ? PPC::RLDICL_32 :
2728 return SDValue(CurDAG->getMachineNode(NewOpc, dl, MVT::i64, LHS, RHS), 0);
2761 return SDValue(CurDAG->getMachineNode(PPC::EXTSW_32_64, dl,
2796 return SDValue(CurDAG->getMachineNode(PPC::RLDICL_32_64, dl, MVT::i64, Input,
2812 SDValue ImDef(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, MVT::i64), 0);
2814 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
2815 return SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, MVT::i64,
2824 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32);
2825 return SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, MVT::i32,
2842 ToExtend = SDValue(CurDAG->getMachineNode(Is32Bit ? PPC::NOR : PPC::NOR8,
2851 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
2853 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
2858 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
2860 ToExtend = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64,
2870 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
2875 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, ToExtend,
2884 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
2888 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, ToExtend,
2891 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, ToExtend,
2894 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, ToExtend,
2921 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
2923 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
2926 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
2933 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
2935 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
2939 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0);
2940 return SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift,
2971 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
2973 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Sub,
2977 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl,
2995 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
2996 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3021 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32,
3031 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3032 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3048 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
3050 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3053 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, SrdiNode,
3068 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3069 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3097 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3099 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, CountInput), 0);
3103 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, SHLOps), 0);
3104 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Slwi), 0);
3115 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0);
3117 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0);
3121 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0);
3123 SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift,
3125 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Xori), 0);
3152 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, MVT::Glue,
3155 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3158 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Srdi,
3174 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0);
3175 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Neg,
3196 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, LHS,
3205 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3206 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3221 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0);
3223 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Subtract,
3226 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Shift,
3241 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0);
3242 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3266 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3268 SDValue(CurDAG->getMachineNode(PPC::CNTLZD, dl, MVT::i64, Xor), 0);
3269 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Clz,
3279 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3281 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue,
3283 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, AC,
3306 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3310 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS,
3313 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3315 return SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3327 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
3330 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Addi, LHS), 0);
3331 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Nor,
3349 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3353 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3356 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3360 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3363 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3365 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
3377 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3380 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue,
3382 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64,
3394 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3397 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64,
3399 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64,
3425 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3427 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue,
3429 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, Addic,
3438 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0);
3440 SDValue(CurDAG->getMachineNode(PPC::SUBFIC8, dl, MVT::i64, MVT::Glue,
3442 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, SC,
3465 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS,
3468 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS,
3472 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3475 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue,
3477 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, Adde), 0);
3488 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS,
3491 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Add, LHS), 0);
3492 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Nor,
3509 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, LHS,
3513 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64,
3516 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64,
3520 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3523 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64,
3526 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
3528 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64,
3540 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3543 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, LHS,
3545 return SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64,
3557 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue,
3559 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64,
3569 static bool allUsesExtend(SDValue Compare, SelectionDAG *CurDAG) {
3601 if ((Compare.getOpcode() == ISD::SETCC) && !allUsesExtend(Compare, CurDAG))
3656 IntegerCompareEliminator ICmpElim(CurDAG, this);
3681 BitPermutationSelector BPS(CurDAG);
3706 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS,
3711 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS,
3724 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS, dl, MVT::i32, LHS,
3726 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, Xor,
3732 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS,
3738 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS,
3750 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS,
3755 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS,
3769 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS8, dl, MVT::i64, LHS,
3771 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, Xor,
3779 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS,
3785 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS,
3849 return SDValue(CurDAG->getMachineNode(Opc, dl, MVT::i32, LHS, RHS), 0);
4038 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout());
4051 Op = SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Op), 0);
4054 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4060 SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4062 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, AD, Op, AD.getValue(1));
4068 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4073 SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Op), 0);
4074 T = SDValue(CurDAG->getMachineNode(PPC::ANDC, dl, MVT::i32, T, Op), 0);
4077 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4087 Op = SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4089 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32,
4090 SDValue(CurDAG->getMachineNode(PPC::LI, dl,
4097 Op = SDValue(CurDAG->getMachineNode(PPC::NOR, dl, MVT::i32, Op, Op), 0);
4098 SDNode *AD = CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4100 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(AD, 0), Op,
4105 SDValue AD = SDValue(CurDAG->getMachineNode(PPC::ADDI, dl, MVT::i32, Op,
4107 SDValue AN = SDValue(CurDAG->getMachineNode(PPC::AND, dl, MVT::i32, AD,
4111 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4117 Op = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
4118 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Op, getI32Imm(1, dl));
4143 SDValue VCmp(CurDAG->getMachineNode(VCmpInst, dl, ResVT, LHS, RHS), 0);
4144 CurDAG->SelectNodeTo(N, PPCSubTarget->hasVSX() ? PPC::XXLNOR : PPC::VNOR,
4149 CurDAG->SelectNodeTo(N, VCmpInst, ResVT, LHS, RHS);
4168 SDValue CR7Reg = CurDAG->getRegister(PPC::CR7, MVT::i32);
4171 CCReg = CurDAG->getCopyToReg(CurDAG->getEntryNode(), dl, CR7Reg, CCReg,
4174 IntCR = SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR7Reg,
4180 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4186 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0);
4187 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Tmp, getI32Imm(1, dl));
4211 const MachineFrameInfo &MFI = CurDAG->getMachineFunction().getFrameInfo();
4231 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Result), {MemOp});
4390 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4401 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4433 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops));
4449 auto ImDef = CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl,
4453 Val = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl,
4473 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops);
4482 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops);
4500 CurDAG->SelectNodeTo(N, PPC::RLWINM8, MVT::i64, Ops);
4539 ReplaceNode(N, selectI64Imm(CurDAG, N));
4553 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
4562 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 ||
4590 ReplaceNode(N, CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32,
4596 ReplaceNode(N, CurDAG->getMachineNode(PPC::ReadTB, dl, MVT::i32, MVT::i32,
4603 CurDAG->getTargetConstant(*cast<ConstantSDNode>(N->getOperand(1))->
4608 CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, MVT::Glue,
4610 CurDAG->SelectNodeTo(N, PPC::ADDZE8, MVT::i64, SDValue(Op, 0),
4617 CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, MVT::Glue,
4619 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, SDValue(Op, 0),
4682 SDNode *MN = CurDAG->getMachineNode(
4684 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
4722 SDNode *MN = CurDAG->getMachineNode(
4724 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops);
4746 KnownBits LHSKnown = CurDAG->computeKnownBits(N->getOperand(0));
4766 SDNode *Lo = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64,
4770 CurDAG->SelectNodeTo(N, PPC::ORIS8, MVT::i64, Ops1);
4789 SDNode *Lo = CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64,
4793 CurDAG->SelectNodeTo(N, PPC::XORIS8, MVT::i64, Ops1);
4817 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4831 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops);
4849 SDValue AndI(CurDAG->getMachineNode(Opcode, dl, InVT, MVT::Glue,
4851 CurDAG->getTargetConstant(1, dl, InVT)),
4853 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32);
4854 SDValue SRIdxVal = CurDAG->getTargetConstant(
4858 CurDAG->SelectNodeTo(N, TargetOpcode::EXTRACT_SUBREG, MVT::i1, CR0Reg,
4865 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout());
4876 if (mayUseP9Setb(N, CC, CurDAG, NeedSwapOps, IsUnCmp)) {
4890 CurDAG->SelectNodeTo(
4908 CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue,
4910 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(Tmp, 0),
4931 SDValue CCBit = CurDAG->getTargetExtractSubreg(SRI, dl, MVT::i1, CCReg);
4933 SDValue NotCCBit(CurDAG->getMachineNode(PPC::CRNOR, dl, MVT::i1,
4938 SDValue CAndT(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
4940 SDValue NotCAndF(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1,
4943 CurDAG->SelectNodeTo(N, PPC::CROR, MVT::i1, CAndT, NotCAndF);
4987 CurDAG->SelectNodeTo(N, SelectCCOp, N->getValueType(0), Ops);
5018 SDNode *NewN = CurDAG->SelectNodeTo(N, PPC::LXVDSX,
5020 CurDAG->setNodeMemRefs(cast<MachineSDNode>(NewN), {MemOp});
5034 SDValue DMV = CurDAG->getTargetConstant(DM[1] | (DM[0] << 1), dl,
5037 CurDAG->SelectNodeTo(N, PPC::XXPERMDI, N->getValueType(0), Ops);
5046 CurDAG->SelectNodeTo(N, N->getOpcode() == PPCISD::BDNZ
5066 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
5096 SDValue BitComp(CurDAG->getMachineNode(Opc, dl, MVT::i1,
5099 CurDAG->SelectNodeTo(N, PPC::BC, MVT::Other, BitComp, N->getOperand(4),
5110 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops);
5119 Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, Target,
5121 CurDAG->SelectNodeTo(N, Reg, MVT::Other, Chain);
5150 SDNode *MN = CurDAG->getMachineNode(PPC::LWZtoc, dl, MVT::i32, GA,
5191 SDNode *Tmp = CurDAG->getMachineNode(
5197 SDNode *MN = CurDAG->getMachineNode(
5206 ReplaceNode(N, CurDAG->getMachineNode(PPC::ADDItocL, dl, MVT::i64,
5214 CurDAG->SelectNodeTo(N, PPC::PPC32PICGOT,
5215 PPCLowering->getPointerTy(CurDAG->getDataLayout()),
5257 SDNode *Tmp = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
5259 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, TmpVal, TmpVal));
5269 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
5271 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
5272 ReplaceNode(N, CurDAG->getMachineNode(Opc3, dl, VT, SDValue(Tmp1, 0),
5283 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
5285 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal);
5286 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, SDValue(Tmp1, 0),
5387 if (!CurDAG->MaskedValueIsZero(
5485 LHS = CurDAG->getAnyExtOrTrunc(LHS, dl, VT);
5486 RHS = CurDAG->getAnyExtOrTrunc(RHS, dl, VT);
5489 Res = CurDAG->getNode(PPCISD::CMPB, dl, VT, LHS, RHS);
5494 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
5495 CurDAG->getConstant(Mask, dl, VT));
5503 Res = CurDAG->getNode(ISD::AND, dl, VT, Res,
5504 CurDAG->getConstant(Mask ^ Alt, dl, VT));
5505 Res = CurDAG->getNode(ISD::XOR, dl, VT, Res,
5506 CurDAG->getConstant(Alt, dl, VT));
5538 CurDAG->getConstant(N->getOpcode() == ISD::SIGN_EXTEND ? -1 : 1, dl, VT);
5539 SDValue ConstFalse = CurDAG->getConstant(0, dl, VT);
5551 return CurDAG->FoldConstantArithmetic(User->getOpcode(), dl,
5574 Res = CurDAG->getSelect(dl, User->getValueType(0), Cond, TrueRes, FalseRes);
5582 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
5585 while (Position != CurDAG->allnodes_begin()) {
5603 LLVM_DEBUG(N->dump(CurDAG));
5605 LLVM_DEBUG(Res.getNode()->dump(CurDAG));
5608 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), Res);
5614 CurDAG->RemoveDeadNodes();
5678 CurDAG->getMachineNode(User->getMachineOpcode(), SDLoc(User),
5684 LLVM_DEBUG(User->dump(CurDAG));
5686 LLVM_DEBUG(ResNode->dump(CurDAG));
5697 for (SDNode &Node : CurDAG->allnodes()) {
5775 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
5779 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
5785 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
5790 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
5799 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5804 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5809 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5814 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
5818 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
5824 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
5829 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
5841 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
5851 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
5857 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
5862 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5871 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
5875 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5880 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5891 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
5897 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
5902 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode),
5911 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
5915 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5920 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5925 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
5931 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
5936 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
5945 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
5955 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5960 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5965 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
5971 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
5976 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode),
5985 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
5989 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
5994 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode),
6001 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6007 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode),
6012 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode),
6021 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6025 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode),
6032 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode),
6037 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode),
6043 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode),
6048 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode),
6072 ResNode = CurDAG->getMachineNode(MachineNode->getMachineOpcode(),
6083 ResNode = CurDAG->getMachineNode(Opcode == PPC::BC ? PPC::BCn :
6102 LLVM_DEBUG(MachineNode->dump(CurDAG));
6104 LLVM_DEBUG(ResNode->dump(CurDAG));
6112 CurDAG->RemoveDeadNodes();
6274 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6277 while (Position != CurDAG->allnodes_begin()) {
6383 CurDAG->getMachineNode(TargetOpcode::INSERT_SUBREG, SDLoc(V),
6404 LLVM_DEBUG(PN->dump(CurDAG));
6406 CurDAG->SelectNodeTo(PN, NewOpcode, CurDAG->getVTList(NewVTs), Ops);
6409 LLVM_DEBUG(PN->dump(CurDAG));
6418 LLVM_DEBUG(N->dump(CurDAG));
6420 LLVM_DEBUG(Op32.getNode()->dump(CurDAG));
6427 CurDAG->RemoveDeadNodes();
6435 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6437 while (Position != CurDAG->allnodes_begin()) {
6590 ImmOpnd = CurDAG->getTargetConstant(Offset, SDLoc(ImmOpnd),
6602 LLVM_DEBUG(Base->dump(CurDAG));
6604 LLVM_DEBUG(N->dump(CurDAG));
6620 ImmOpnd = CurDAG->getTargetGlobalAddress(GV, dl, MVT::i64, Offset, Flags);
6624 ImmOpnd = CurDAG->getTargetConstantPool(C, MVT::i64,
6631 (void)CurDAG->UpdateNodeOperands(N, N->getOperand(0), ImmOpnd,
6634 (void)CurDAG->UpdateNodeOperands(N, ImmOpnd, Base.getOperand(0),
6638 (void)CurDAG->UpdateNodeOperands(HBase.getNode(), HBase.getOperand(0),
6643 CurDAG->RemoveDeadNode(Base.getNode());