Lines Matching refs:CurDAG

180       return CurDAG->getTargetConstant(Imm, dl, MVT::i16);  in getI16Imm()
186 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in getI32Imm()
192 return CurDAG->getTargetConstant(Imm, dl, MVT::i64); in getI64Imm()
197 return CurDAG->getTargetConstant( in getSmallIPtrImm()
198 Imm, dl, PPCLowering->getPointerTy(CurDAG->getDataLayout())); in getSmallIPtrImm()
250 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectDSForm()
258 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectDQForm()
266 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectDForm()
274 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectPCRelForm()
281 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectPDForm()
289 return PPCLowering->SelectOptimalAddrMode(Parent, N, Disp, Base, *CurDAG, in SelectXForm()
297 return PPCLowering->SelectForceXFormMode(N, Disp, Base, *CurDAG) == in SelectForceXForm()
308 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, in SelectAddrIdx()
319 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, in SelectAddrIdxX4()
330 return PPCLowering->SelectAddressRegReg(N, Base, Index, *CurDAG, in SelectAddrIdxX16()
337 return PPCLowering->SelectAddressRegRegOnly(N, Base, Index, *CurDAG); in SelectAddrIdxOnly()
346 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, in SelectAddrImm()
354 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, Align(4)); in SelectAddrImmX4()
361 return PPCLowering->SelectAddressRegImm(N, Disp, Base, *CurDAG, in SelectAddrImmX16()
369 return PPCLowering->SelectAddressRegImm34(N, Disp, Base, *CurDAG); in SelectAddrImmX34()
406 SDValue RC = CurDAG->getTargetConstant(TRC->getID(), dl, MVT::i32); in SelectInlineAsmMemoryOperand()
408 SDValue(CurDAG->getMachineNode(TargetOpcode::COPY_TO_REGCLASS, in SelectInlineAsmMemoryOperand()
474 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) == MVT::i32) { in INITIALIZE_PASS()
513 return CurDAG->getRegister(GlobalBaseReg, in INITIALIZE_PASS()
514 PPCLowering->getPointerTy(CurDAG->getDataLayout())) in INITIALIZE_PASS()
645 SDValue TFI = CurDAG->getTargetFrameIndex(FI, N->getValueType(0)); in selectFrameIndex()
648 CurDAG->SelectNodeTo(SN, Opc, N->getValueType(0), TFI, in selectFrameIndex()
651 ReplaceNode(SN, CurDAG->getMachineNode(Opc, dl, N->getValueType(0), TFI, in selectFrameIndex()
699 static bool isThreadPointerAcquisitionNode(SDValue Base, SelectionDAG *CurDAG) { in isThreadPointerAcquisitionNode() argument
704 CurDAG->getMachineFunction().getSubtarget<PPCSubtarget>(); in isThreadPointerAcquisitionNode()
743 static bool canOptimizeTLSDFormToXForm(SelectionDAG *CurDAG, SDValue Base) { in canOptimizeTLSDFormToXForm() argument
746 if (CurDAG->getTarget().getOptLevel() == CodeGenOptLevel::None) in canOptimizeTLSDFormToXForm()
773 return isThreadPointerAcquisitionNode(Base, CurDAG); in canOptimizeTLSDFormToXForm()
778 if (!canOptimizeTLSDFormToXForm(CurDAG, Base)) in tryTLSXFormStore()
818 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops); in tryTLSXFormStore()
826 if (!canOptimizeTLSDFormToXForm(CurDAG, Base)) in tryTLSXFormLoad()
871 SDNode *MN = CurDAG->getMachineNode(Opcode, dl, VTs, Ops); in tryTLSXFormLoad()
884 KnownBits LKnown = CurDAG->computeKnownBits(Op0); in tryBitfieldInsert()
885 KnownBits RKnown = CurDAG->computeKnownBits(Op1); in tryBitfieldInsert()
929 KnownBits MKnown = CurDAG->computeKnownBits(Op1.getOperand(1)); in tryBitfieldInsert()
945 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops)); in tryBitfieldInsert()
952 static unsigned allUsesTruncate(SelectionDAG *CurDAG, SDNode *N) { in allUsesTruncate() argument
1019 static SDNode *selectI64ImmDirect(SelectionDAG *CurDAG, const SDLoc &dl, in selectI64ImmDirect() argument
1030 auto getI32Imm = [CurDAG, dl](unsigned Imm) { in selectI64ImmDirect()
1031 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in selectI64ImmDirect()
1039 SDValue SDImm = CurDAG->getTargetConstant(Imm, dl, MVT::i64); in selectI64ImmDirect()
1040 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm); in selectI64ImmDirect()
1045 return CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
1058 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16)); in selectI64ImmDirect()
1059 return CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1069 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1071 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1094 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1096 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1116 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1118 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1126 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1128 return CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1152 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1154 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1166 CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, getI32Imm(ImmLo16)); in selectI64ImmDirect()
1169 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(ImmHi16)); in selectI64ImmDirect()
1173 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(ImmHi16)); in selectI64ImmDirect()
1174 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, in selectI64ImmDirect()
1180 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirect()
1195 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16)); in selectI64ImmDirect()
1196 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1198 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1211 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
1213 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1215 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1225 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
1227 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1229 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1244 Result = CurDAG->getMachineNode(Opcode, dl, MVT::i64, getI32Imm(ImmHi16)); in selectI64ImmDirect()
1245 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1247 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1260 static SDNode *selectI64ImmDirectPrefix(SelectionDAG *CurDAG, const SDLoc &dl, in selectI64ImmDirectPrefix() argument
1269 auto getI32Imm = [CurDAG, dl](unsigned Imm) { in selectI64ImmDirectPrefix()
1270 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in selectI64ImmDirectPrefix()
1273 auto getI64Imm = [CurDAG, dl](uint64_t Imm) { in selectI64ImmDirectPrefix()
1274 return CurDAG->getTargetConstant(Imm, dl, MVT::i64); in selectI64ImmDirectPrefix()
1283 return CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1284 CurDAG->getTargetConstant(Imm, dl, MVT::i64)); in selectI64ImmDirectPrefix()
1298 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1300 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1320 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1322 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1333 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1335 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1352 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(RotImm)); in selectI64ImmDirectPrefix()
1353 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in selectI64ImmDirectPrefix()
1362 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32)); in selectI64ImmDirectPrefix()
1365 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirectPrefix()
1372 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32)); in selectI64ImmDirectPrefix()
1374 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Lo32)); in selectI64ImmDirectPrefix()
1377 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirectPrefix()
1380 static SDNode *selectI64Imm(SelectionDAG *CurDAG, const SDLoc &dl, uint64_t Imm, in selectI64Imm() argument
1385 SDNode *Result = selectI64ImmDirect(CurDAG, dl, Imm, InstCntDirect); in selectI64Imm()
1388 CurDAG->getMachineFunction().getSubtarget<PPCSubtarget>(); in selectI64Imm()
1395 SDNode *ResultP = selectI64ImmDirectPrefix(CurDAG, dl, Imm, InstCntDirectP); in selectI64Imm()
1413 auto getI32Imm = [CurDAG, dl](unsigned Imm) { in selectI64Imm()
1414 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in selectI64Imm()
1427 auto getSplat = [CurDAG, dl, getI32Imm](uint32_t Hi16, uint32_t Lo16) { in selectI64Imm()
1429 CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, getI32Imm(Hi16)); in selectI64Imm()
1430 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, in selectI64Imm()
1434 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64Imm()
1443 Result = CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64Imm()
1450 Result = CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, Ops); in selectI64Imm()
1457 Result = CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, Ops); in selectI64Imm()
1468 selectI64ImmDirect(CurDAG, dl, Imm & 0xffffffff00000000, InstCntDirect); in selectI64Imm()
1471 Result = CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64, in selectI64Imm()
1476 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64Imm()
1486 static SDNode *selectI64Imm(SelectionDAG *CurDAG, SDNode *N) { in selectI64Imm() argument
1491 if (unsigned MinSize = allUsesTruncate(CurDAG, N)) { in selectI64Imm()
1493 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64); in selectI64Imm()
1495 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm); in selectI64Imm()
1497 return selectI64Imm(CurDAG, dl, Imm); in selectI64Imm()
2115 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in getI32Imm()
2138 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in ExtendToInt64()
2139 SDValue ImDef = SDValue(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, in ExtendToInt64()
2141 SDValue ExtVal = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, in ExtendToInt64()
2152 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in TruncateToInt32()
2153 SDValue SubVal = SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, in TruncateToInt32()
2218 VRot = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in SelectAndParts32()
2226 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32, in SelectAndParts32()
2231 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, VRot, in SelectAndParts32()
2241 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in SelectAndParts32()
2247 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in SelectAndParts32()
2278 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), in Select32()
2299 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in Select32()
2305 Res = SDValue(CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops), 0); in Select32()
2322 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32, in Select32()
2327 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, Res, in Select32()
2336 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in Select32()
2382 return SDValue(CurDAG->getMachineNode(PPC::RLWINM8, dl, MVT::i64, in SelectRotMask64()
2390 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2397 return SDValue(CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2404 return SDValue(CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2446 return SDValue(CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, in SelectRotMaskIns64()
2454 return SDValue(CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops), 0); in SelectRotMaskIns64()
2544 selectI64Imm(CurDAG, dl, Mask, &NumOfSelectInsts); in SelectAndParts64()
2605 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64, in SelectAndParts64()
2611 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64, in SelectAndParts64()
2621 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in SelectAndParts64()
2624 TotalVal = SDValue(selectI64Imm(CurDAG, dl, Mask), 0); in SelectAndParts64()
2626 SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64, in SelectAndParts64()
2634 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in SelectAndParts64()
2755 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64, in Select64()
2761 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64, in Select64()
2771 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in Select64()
2776 SDValue(selectI64Imm(CurDAG, dl, Mask, &NumOfSelectInsts), 0); in Select64()
2777 Res = SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64, in Select64()
2825 SelectionDAG *CurDAG = nullptr; member in __anon010aa3800711::BitPermutationSelector
2829 : CurDAG(DAG) {} in BitPermutationSelector()
2844 LLVM_DEBUG(N->dump(CurDAG)); in Select()
2881 SelectionDAG *CurDAG; member in __anon010aa3800711::IntegerCompareEliminator
2925 PPCDAGToDAGISel *Sel) : CurDAG(DAG), S(Sel) { in IntegerCompareEliminator()
2926 assert(CurDAG->getTargetLoweringInfo() in IntegerCompareEliminator()
2927 .getPointerTy(CurDAG->getDataLayout()).getSizeInBits() == 64 && in IntegerCompareEliminator()
3008 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32); in tryLogicOpOfCompares()
3045 SDValue(CurDAG->getMachineNode(NewOpc, dl, in tryLogicOpOfCompares()
3052 SDValue(CurDAG->getMachineNode(NewOpc == -1 ? PPC::ANDI8_rec : NewOpc, in tryLogicOpOfCompares()
3062 CurDAG->getTargetConstant(SubRegToExtract, dl, MVT::i32); in tryLogicOpOfCompares()
3064 SDValue(CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, in tryLogicOpOfCompares()
3100 return SDValue(CurDAG->getMachineNode(InVT == MVT::i32 ? PPC::RLDICL_32 : in computeLogicOpInGPR()
3138 return SDValue(CurDAG->getMachineNode(NewOpc, dl, MVT::i64, LHS, RHS), 0); in computeLogicOpInGPR()
3171 return SDValue(CurDAG->getMachineNode(PPC::EXTSW_32_64, dl, in signExtendInputIfNeeded()
3206 return SDValue(CurDAG->getMachineNode(PPC::RLDICL_32_64, dl, MVT::i64, Input, in zeroExtendInputIfNeeded()
3222 SDValue ImDef(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, MVT::i64), 0); in addExtOrTrunc()
3224 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in addExtOrTrunc()
3225 return SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, MVT::i64, in addExtOrTrunc()
3234 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in addExtOrTrunc()
3235 return SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, MVT::i32, in addExtOrTrunc()
3252 ToExtend = SDValue(CurDAG->getMachineNode(Is32Bit ? PPC::NOR : PPC::NOR8, in getCompoundZeroComparisonInGPR()
3261 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in getCompoundZeroComparisonInGPR()
3263 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3268 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in getCompoundZeroComparisonInGPR()
3270 ToExtend = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3280 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3285 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3294 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in getCompoundZeroComparisonInGPR()
3298 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, ToExtend, in getCompoundZeroComparisonInGPR()
3301 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3304 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3331 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitZExtCompare()
3333 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitZExtCompare()
3336 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in get32BitZExtCompare()
3343 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitZExtCompare()
3345 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitZExtCompare()
3349 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0); in get32BitZExtCompare()
3350 return SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift, in get32BitZExtCompare()
3381 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitZExtCompare()
3383 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Sub, in get32BitZExtCompare()
3387 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, in get32BitZExtCompare()
3405 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in get32BitZExtCompare()
3406 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3431 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in get32BitZExtCompare()
3441 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitZExtCompare()
3442 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3458 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitZExtCompare()
3460 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3463 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, SrdiNode, in get32BitZExtCompare()
3478 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitZExtCompare()
3479 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3507 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitSExtCompare()
3509 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, CountInput), 0); in get32BitSExtCompare()
3513 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, SHLOps), 0); in get32BitSExtCompare()
3514 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Slwi), 0); in get32BitSExtCompare()
3525 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitSExtCompare()
3527 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitSExtCompare()
3531 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0); in get32BitSExtCompare()
3533 SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift, in get32BitSExtCompare()
3535 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Xori), 0); in get32BitSExtCompare()
3562 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, MVT::Glue, in get32BitSExtCompare()
3565 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitSExtCompare()
3568 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Srdi, in get32BitSExtCompare()
3584 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in get32BitSExtCompare()
3585 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Neg, in get32BitSExtCompare()
3606 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, LHS, in get32BitSExtCompare()
3615 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitSExtCompare()
3616 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get32BitSExtCompare()
3631 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitSExtCompare()
3633 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Subtract, in get32BitSExtCompare()
3636 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Shift, in get32BitSExtCompare()
3651 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitSExtCompare()
3652 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get32BitSExtCompare()
3676 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitZExtCompare()
3678 SDValue(CurDAG->getMachineNode(PPC::CNTLZD, dl, MVT::i64, Xor), 0); in get64BitZExtCompare()
3679 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Clz, in get64BitZExtCompare()
3689 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitZExtCompare()
3691 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3693 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, AC, in get64BitZExtCompare()
3716 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitZExtCompare()
3720 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS, in get64BitZExtCompare()
3723 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3725 return SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3737 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in get64BitZExtCompare()
3740 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Addi, LHS), 0); in get64BitZExtCompare()
3741 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Nor, in get64BitZExtCompare()
3759 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitZExtCompare()
3763 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get64BitZExtCompare()
3766 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get64BitZExtCompare()
3770 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3773 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3775 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in get64BitZExtCompare()
3787 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3790 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3792 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, in get64BitZExtCompare()
3804 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3807 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, in get64BitZExtCompare()
3809 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, in get64BitZExtCompare()
3835 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitSExtCompare()
3837 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3839 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, Addic, in get64BitSExtCompare()
3848 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitSExtCompare()
3850 SDValue(CurDAG->getMachineNode(PPC::SUBFIC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3852 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, SC, in get64BitSExtCompare()
3875 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS, in get64BitSExtCompare()
3878 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitSExtCompare()
3882 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3885 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3887 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, Adde), 0); in get64BitSExtCompare()
3898 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in get64BitSExtCompare()
3901 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Add, LHS), 0); in get64BitSExtCompare()
3902 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Nor, in get64BitSExtCompare()
3919 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, LHS, in get64BitSExtCompare()
3923 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get64BitSExtCompare()
3926 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get64BitSExtCompare()
3930 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3933 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, in get64BitSExtCompare()
3936 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in get64BitSExtCompare()
3938 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, in get64BitSExtCompare()
3950 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3953 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, LHS, in get64BitSExtCompare()
3955 return SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, in get64BitSExtCompare()
3967 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3969 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, in get64BitSExtCompare()
3979 static bool allUsesExtend(SDValue Compare, SelectionDAG *CurDAG) { in allUsesExtend() argument
4011 if ((Compare.getOpcode() == ISD::SETCC) && !allUsesExtend(Compare, CurDAG)) in getSETCCInGPR()
4072 IntegerCompareEliminator ICmpElim(CurDAG, this); in tryIntCompareInGPR()
4107 BitPermutationSelector BPS(CurDAG); in tryBitPermutation()
4132 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS, in SelectCC()
4137 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS, in SelectCC()
4150 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS, dl, MVT::i32, LHS, in SelectCC()
4152 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, Xor, in SelectCC()
4158 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS, in SelectCC()
4164 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS, in SelectCC()
4176 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS, in SelectCC()
4181 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS, in SelectCC()
4195 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS8, dl, MVT::i64, LHS, in SelectCC()
4197 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, Xor, in SelectCC()
4205 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS, in SelectCC()
4211 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS, in SelectCC()
4277 CurDAG->getMachineNode(Opc, dl, MVT::i32, MVT::Other, LHS, RHS, Chain), in SelectCC()
4280 return SDValue(CurDAG->getMachineNode(Opc, dl, MVT::i32, LHS, RHS), 0); in SelectCC()
4478 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout()); in trySETCC()
4494 Op = SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Op), 0); in trySETCC()
4497 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4503 SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4505 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, AD, Op, AD.getValue(1)); in trySETCC()
4511 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4516 SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Op), 0); in trySETCC()
4517 T = SDValue(CurDAG->getMachineNode(PPC::ANDC, dl, MVT::i32, T, Op), 0); in trySETCC()
4520 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4530 Op = SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4532 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, in trySETCC()
4533 SDValue(CurDAG->getMachineNode(PPC::LI, dl, in trySETCC()
4540 Op = SDValue(CurDAG->getMachineNode(PPC::NOR, dl, MVT::i32, Op, Op), 0); in trySETCC()
4541 SDNode *AD = CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4543 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(AD, 0), Op, in trySETCC()
4548 SDValue AD = SDValue(CurDAG->getMachineNode(PPC::ADDI, dl, MVT::i32, Op, in trySETCC()
4550 SDValue AN = SDValue(CurDAG->getMachineNode(PPC::AND, dl, MVT::i32, AD, in trySETCC()
4554 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4560 Op = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in trySETCC()
4561 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Op, getI32Imm(1, dl)); in trySETCC()
4583 SDValue VCmp(CurDAG->getMachineNode(VCmpInst, dl, ResVT, LHS, RHS), 0); in trySETCC()
4584 CurDAG->SelectNodeTo(N, Subtarget->hasVSX() ? PPC::XXLNOR : PPC::VNOR, in trySETCC()
4589 CurDAG->SelectNodeTo(N, VCmpInst, ResVT, LHS, RHS); in trySETCC()
4600 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 1), CCReg.getValue(1)); in trySETCC()
4610 SDValue CR7Reg = CurDAG->getRegister(PPC::CR7, MVT::i32); in trySETCC()
4613 CCReg = CurDAG->getCopyToReg(CurDAG->getEntryNode(), dl, CR7Reg, CCReg, in trySETCC()
4616 IntCR = SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR7Reg, in trySETCC()
4622 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4628 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in trySETCC()
4629 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Tmp, getI32Imm(1, dl)); in trySETCC()
4654 const MachineFrameInfo &MFI = CurDAG->getMachineFunction().getFrameInfo(); in isOffsetMultipleOf()
4674 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Result), {MemOp}); in transferMemOperands()
4885 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in tryFoldSWTestBRCC()
4921 SDNode *NewDecrement = CurDAG->getMachineNode(DecrementOpcode, DecrementLoc, in trySelectLoopCountIntrinsic()
4929 CurDAG->RemoveDeadNode(LHS.getNode()); in trySelectLoopCountIntrinsic()
4933 CurDAG->RemoveDeadNode(OldDecrement.getNode()); in trySelectLoopCountIntrinsic()
4935 SDValue Chain = CurDAG->getNode(ISD::TokenFactor, SDLoc(N), MVT::Other, in trySelectLoopCountIntrinsic()
4938 CurDAG->SelectNodeTo(N, Opcode, MVT::Other, SDValue(NewDecrement, 0), in trySelectLoopCountIntrinsic()
4958 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in tryAsSingleRLWINM()
4967 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in tryAsSingleRLWINM()
4999 CurDAG->SelectNodeTo(N, PPC::RLWINM8, MVT::i64, Ops); in tryAsSingleRLWINM8()
5043 Val = SDValue(CurDAG->getMachineNode(PPC::RLDICL, Loc, MVT::i64, Val, in tryAsPairOfRLDICL()
5056 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops); in tryAsPairOfRLDICL()
5091 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops)); in tryAsSingleRLWIMI()
5123 CurDAG->SelectNodeTo(N, PPC::RLDCL, MVT::i64, Ops); in tryAsSingleRLDCL()
5146 auto ImDef = CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, ResultType); in tryAsSingleRLDICL()
5149 Val = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, ResultType, in tryAsSingleRLDICL()
5170 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops); in tryAsSingleRLDICL()
5188 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops); in tryAsSingleRLDICR()
5211 SDValue(selectI64Imm(CurDAG, getI64Imm(-1, Dl).getNode()), 0), in tryAsSingleRLDIMI()
5213 CurDAG->SelectNodeTo(N, PPC::RLDIMI, MVT::i64, Ops); in tryAsSingleRLDIMI()
5246 ReplaceNode(N, selectI64Imm(CurDAG, N)); in Select()
5324 CurDAG->SelectNodeTo(N, Opcode, MVT::Other, OpsWithMD); in Select()
5338 CurDAG->SelectNodeTo(N, PPC::FSELS, MVT::f32, Ops); in Select()
5388 CurDAG->getTargetConstant(0, dl, MVT::i32)}; in Select()
5389 SDValue BCDOp = SDValue(CurDAG->getMachineNode(Opcode, dl, VTs, Ops), 0); in Select()
5390 SDValue CR6Reg = CurDAG->getRegister(PPC::CR6, MVT::i32); in Select()
5394 SDValue SubRegIdx = CurDAG->getTargetConstant(SubReg, dl, MVT::i32); in Select()
5396 CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, MVT::i1, in Select()
5399 CurDAG->SelectNodeTo(N, Reverse ? PPC::SETBCR : PPC::SETBC, MVT::i32, in Select()
5403 SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR6Reg, in Select()
5409 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5412 CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in Select()
5413 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Shift, getI32Imm(1, dl)); in Select()
5444 SDValue(CurDAG->getMachineNode(Opcode, dl, VTs, N->getOperand(2)), 0); in Select()
5447 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_eq, dl, MVT::i32); in Select()
5448 SDValue CR6Reg = CurDAG->getRegister(PPC::CR6, MVT::i32); in Select()
5450 CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, MVT::i1, in Select()
5453 CurDAG->SelectNodeTo(N, PPC::SETBC, MVT::i32, CRBit); in Select()
5468 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 || in Select()
5477 if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 || in Select()
5505 ReplaceNode(N, CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, in Select()
5511 ReplaceNode(N, CurDAG->getMachineNode(PPC::ReadTB, dl, MVT::i32, MVT::i32, in Select()
5518 CurDAG->getTargetConstant(*cast<ConstantSDNode>(N->getOperand(1))-> in Select()
5523 CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, MVT::Glue, in Select()
5525 CurDAG->SelectNodeTo(N, PPC::ADDZE8, MVT::i64, SDValue(Op, 0), in Select()
5532 CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, MVT::Glue, in Select()
5534 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, SDValue(Op, 0), in Select()
5599 SDNode *MN = CurDAG->getMachineNode( in Select()
5601 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops); in Select()
5637 SDNode *MN = CurDAG->getMachineNode( in Select()
5639 PPCLowering->getPointerTy(CurDAG->getDataLayout()), MVT::Other, Ops); in Select()
5663 KnownBits LHSKnown = CurDAG->computeKnownBits(N->getOperand(0)); in Select()
5688 SDNode *Lo = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, in Select()
5692 CurDAG->SelectNodeTo(N, PPC::ORIS8, MVT::i64, Ops1); in Select()
5711 SDNode *Lo = CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in Select()
5715 CurDAG->SelectNodeTo(N, PPC::XORIS8, MVT::i64, Ops1); in Select()
5739 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5753 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5781 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i64); in Select()
5782 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI8, dl, MVT::i64, in Select()
5787 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops); in Select()
5790 SDValue SDImm = CurDAG->getTargetConstant(SextImm, dl, MVT::i32); in Select()
5791 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI, dl, MVT::i32, in Select()
5796 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5812 SDValue AndI(CurDAG->getMachineNode(Opcode, dl, InVT, MVT::Glue, in Select()
5814 CurDAG->getTargetConstant(1, dl, InVT)), in Select()
5816 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32); in Select()
5817 SDValue SRIdxVal = CurDAG->getTargetConstant( in Select()
5821 CurDAG->SelectNodeTo(N, TargetOpcode::EXTRACT_SUBREG, MVT::i1, CR0Reg, in Select()
5828 CurDAG->getTargetLoweringInfo().getPointerTy(CurDAG->getDataLayout()); in Select()
5838 if (mayUseP9Setb(N, CC, CurDAG, NeedSwapOps, IsUnCmp)) { in Select()
5852 CurDAG->SelectNodeTo( in Select()
5867 CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in Select()
5869 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(Tmp, 0), in Select()
5890 SDValue CCBit = CurDAG->getTargetExtractSubreg(SRI, dl, MVT::i1, CCReg); in Select()
5892 SDValue NotCCBit(CurDAG->getMachineNode(PPC::CRNOR, dl, MVT::i1, in Select()
5897 SDValue CAndT(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1, in Select()
5899 SDValue NotCAndF(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1, in Select()
5902 CurDAG->SelectNodeTo(N, PPC::CROR, MVT::i1, CAndT, NotCAndF); in Select()
5940 CurDAG->SelectNodeTo(N, SelectCCOp, N->getValueType(0), Ops); in Select()
5971 SDNode *NewN = CurDAG->SelectNodeTo(N, PPC::LXVDSX, in Select()
5973 CurDAG->setNodeMemRefs(cast<MachineSDNode>(NewN), {MemOp}); in Select()
5987 SDValue DMV = CurDAG->getTargetConstant(DM[1] | (DM[0] << 1), dl, in Select()
5990 CurDAG->SelectNodeTo(N, PPC::XXPERMDI, N->getValueType(0), Ops); in Select()
5999 CurDAG->SelectNodeTo(N, N->getOpcode() == PPCISD::BDNZ in Select()
6019 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in Select()
6053 SDValue BitComp(CurDAG->getMachineNode(Opc, dl, MVT::i1, in Select()
6056 CurDAG->SelectNodeTo(N, PPC::BC, MVT::Other, BitComp, N->getOperand(4), in Select()
6067 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in Select()
6076 Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, Target, in Select()
6078 CurDAG->SelectNodeTo(N, Reg, MVT::Other, Chain); in Select()
6109 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, TocBase, GA); in Select()
6111 MN = CurDAG->getMachineNode(OpCode, dl, OperandTy, GA, TocBase); in Select()
6180 SDNode *Tmp = CurDAG->getMachineNode( in Select()
6187 N, CurDAG->getMachineNode(isPPC64 ? PPC::ADDItocL8 : PPC::ADDItocL, in Select()
6195 SDNode *MN = CurDAG->getMachineNode( in Select()
6205 ReplaceNode(N, CurDAG->getMachineNode(PPC::ADDItocL8, dl, MVT::i64, in Select()
6213 CurDAG->SelectNodeTo(N, PPC::PPC32PICGOT, in Select()
6214 PPCLowering->getPointerTy(CurDAG->getDataLayout()), in Select()
6256 SDNode *Tmp = CurDAG->getMachineNode(Opc1, dl, VT, EltVal); in Select()
6258 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, TmpVal, TmpVal)); in Select()
6268 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal); in Select()
6270 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal); in Select()
6271 ReplaceNode(N, CurDAG->getMachineNode(Opc3, dl, VT, SDValue(Tmp1, 0), in Select()
6282 SDNode *Tmp1 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal); in Select()
6284 SDNode *Tmp2 = CurDAG->getMachineNode(Opc1, dl, VT, EltVal); in Select()
6285 ReplaceNode(N, CurDAG->getMachineNode(Opc2, dl, VT, SDValue(Tmp1, 0), in Select()
6311 CurDAG->getRegister(Subtarget->isPPC64() ? PPC::ZERO8 : PPC::ZERO, in Select()
6332 SDNode *Mask = CurDAG->getMachineNode( in Select()
6337 CurDAG->getMachineNode(PPC::LVX, dl, MVT::v16i8, MVT::Other, in Select()
6342 LoadHigh = CurDAG->getMachineNode( in Select()
6344 {SDValue(CurDAG->getMachineNode( in Select()
6346 CurDAG->getTargetConstant(1, dl, MVT::i8)), in Select()
6351 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 1), SDValue(LoadHigh, 1)); in Select()
6355 CurDAG->getMachineNode(PPC::VPERM, dl, Type, SDValue(LoadLow, 0), in Select()
6357 CurDAG->SelectNodeTo(N, SplatOp, Type, in Select()
6358 CurDAG->getTargetConstant(SplatElemIndex, dl, MVT::i8), in Select()
6458 if (!CurDAG->MaskedValueIsZero( in combineToCMPB()
6556 LHS = CurDAG->getAnyExtOrTrunc(LHS, dl, VT); in combineToCMPB()
6557 RHS = CurDAG->getAnyExtOrTrunc(RHS, dl, VT); in combineToCMPB()
6560 Res = CurDAG->getNode(PPCISD::CMPB, dl, VT, LHS, RHS); in combineToCMPB()
6565 Res = CurDAG->getNode(ISD::AND, dl, VT, Res, in combineToCMPB()
6566 CurDAG->getConstant(Mask, dl, VT)); in combineToCMPB()
6574 Res = CurDAG->getNode(ISD::AND, dl, VT, Res, in combineToCMPB()
6575 CurDAG->getConstant(Mask ^ Alt, dl, VT)); in combineToCMPB()
6576 Res = CurDAG->getNode(ISD::XOR, dl, VT, Res, in combineToCMPB()
6577 CurDAG->getConstant(Alt, dl, VT)); in combineToCMPB()
6609 CurDAG->getConstant(N->getOpcode() == ISD::SIGN_EXTEND ? -1 : 1, dl, VT); in foldBoolExts()
6610 SDValue ConstFalse = CurDAG->getConstant(0, dl, VT); in foldBoolExts()
6622 return CurDAG->FoldConstantArithmetic(User->getOpcode(), dl, in foldBoolExts()
6643 Res = CurDAG->getSelect(dl, User->getValueType(0), Cond, TrueRes, FalseRes); in foldBoolExts()
6651 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end(); in PreprocessISelDAG()
6654 while (Position != CurDAG->allnodes_begin()) { in PreprocessISelDAG()
6672 LLVM_DEBUG(N->dump(CurDAG)); in PreprocessISelDAG()
6674 LLVM_DEBUG(Res.getNode()->dump(CurDAG)); in PreprocessISelDAG()
6677 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), Res); in PreprocessISelDAG()
6683 CurDAG->RemoveDeadNodes(); in PreprocessISelDAG()
6743 CurDAG->getMachineNode(User->getMachineOpcode(), SDLoc(User), in SwapAllSelectUsers()
6749 LLVM_DEBUG(User->dump(CurDAG)); in SwapAllSelectUsers()
6751 LLVM_DEBUG(ResNode->dump(CurDAG)); in SwapAllSelectUsers()
6762 for (SDNode &Node : CurDAG->allnodes()) { in PeepholeCROps()
6839 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6843 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6849 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6854 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode), in PeepholeCROps()
6863 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6868 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6873 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6878 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6882 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6888 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6893 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode), in PeepholeCROps()
6905 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6915 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6921 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6926 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6935 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6939 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6944 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6955 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6961 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6966 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6975 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6979 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6984 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6989 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6995 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
7000 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode), in PeepholeCROps()
7009 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
7019 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
7024 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
7029 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
7035 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
7040 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
7049 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
7053 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
7058 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
7065 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
7071 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode), in PeepholeCROps()
7076 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
7085 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
7089 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
7096 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
7101 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode), in PeepholeCROps()
7107 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode), in PeepholeCROps()
7112 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
7133 ResNode = CurDAG->getMachineNode(MachineNode->getMachineOpcode(), in PeepholeCROps()
7144 ResNode = CurDAG->getMachineNode(Opcode == PPC::BC ? PPC::BCn : in PeepholeCROps()
7163 LLVM_DEBUG(MachineNode->dump(CurDAG)); in PeepholeCROps()
7165 LLVM_DEBUG(ResNode->dump(CurDAG)); in PeepholeCROps()
7173 CurDAG->RemoveDeadNodes(); in PeepholeCROps()
7335 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end(); in PeepholePPC64ZExt()
7338 while (Position != CurDAG->allnodes_begin()) { in PeepholePPC64ZExt()
7444 CurDAG->getMachineNode(TargetOpcode::INSERT_SUBREG, SDLoc(V), in PeepholePPC64ZExt()
7465 LLVM_DEBUG(PN->dump(CurDAG)); in PeepholePPC64ZExt()
7467 CurDAG->SelectNodeTo(PN, NewOpcode, CurDAG->getVTList(NewVTs), Ops); in PeepholePPC64ZExt()
7470 LLVM_DEBUG(PN->dump(CurDAG)); in PeepholePPC64ZExt()
7479 LLVM_DEBUG(N->dump(CurDAG)); in PeepholePPC64ZExt()
7481 LLVM_DEBUG(Op32.getNode()->dump(CurDAG)); in PeepholePPC64ZExt()
7488 CurDAG->RemoveDeadNodes(); in PeepholePPC64ZExt()
7691 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end(); in PeepholePPC64()
7693 while (Position != CurDAG->allnodes_begin()) { in PeepholePPC64()
7700 reduceVSXSwap(N, CurDAG); in PeepholePPC64()
7704 foldADDIForFasterLocalAccesses(N, CurDAG); in PeepholePPC64()
7807 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout()); in PeepholePPC64()
7843 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout()); in PeepholePPC64()
7863 ImmOpnd = CurDAG->getTargetConstant(Offset, SDLoc(ImmOpnd), in PeepholePPC64()
7868 if (isEligibleToFoldADDIForFasterLocalAccesses(CurDAG, Base)) { in PeepholePPC64()
7875 ImmOpnd = CurDAG->getTargetGlobalAddress(GA->getGlobal(), SDLoc(GA), in PeepholePPC64()
7888 LLVM_DEBUG(Base->dump(CurDAG)); in PeepholePPC64()
7890 LLVM_DEBUG(N->dump(CurDAG)); in PeepholePPC64()
7899 Align Alignment = GV->getPointerAlignment(CurDAG->getDataLayout()); in PeepholePPC64()
7906 ImmOpnd = CurDAG->getTargetGlobalAddress(GV, dl, MVT::i64, Offset, Flags); in PeepholePPC64()
7910 ImmOpnd = CurDAG->getTargetConstantPool(C, MVT::i64, CP->getAlign(), in PeepholePPC64()
7916 (void)CurDAG->UpdateNodeOperands(N, N->getOperand(0), ImmOpnd, in PeepholePPC64()
7919 (void)CurDAG->UpdateNodeOperands(N, ImmOpnd, Base.getOperand(0), in PeepholePPC64()
7923 (void)CurDAG->UpdateNodeOperands(HBase.getNode(), HBase.getOperand(0), in PeepholePPC64()
7928 CurDAG->RemoveDeadNode(Base.getNode()); in PeepholePPC64()