• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/ARM/

Lines Matching refs:CurDAG

76     return CurDAG->getTargetConstant(Imm, dl, MVT::i32);
107 Pred = CurDAG->getTargetConstant(CN->getZExtValue(), SDLoc(N), MVT::i32);
108 Reg = CurDAG->getRegister(ARM::CPSR, MVT::i32);
320 /// Replace N with M in CurDAG, in a way that also ensures that M gets
377 for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(),
378 E = CurDAG->allnodes_end(); I != E; ) {
442 Srl = CurDAG->getNode(ISD::SRL, SDLoc(Srl), MVT::i32,
444 CurDAG->getConstant(Srl_imm + TZ, SDLoc(Srl),
446 N1 = CurDAG->getNode(ISD::AND, SDLoc(N1), MVT::i32,
448 CurDAG->getConstant(And_imm, SDLoc(Srl), MVT::i32));
449 N1 = CurDAG->getNode(ISD::SHL, SDLoc(N1), MVT::i32,
450 N1, CurDAG->getConstant(TZ, SDLoc(Srl), MVT::i32));
451 CurDAG->UpdateNodeOperands(N, N0, N1);
473 CurDAG->getSubtarget().getInstrInfo());
540 NewMulConst = CurDAG->getConstant(NewMulConstVal, SDLoc(N), MVT::i32);
547 CurDAG->RepositionNode(N.getNode()->getIterator(), M.getNode());
568 Opc = CurDAG->getTargetConstant(
585 Opc = CurDAG->getTargetConstant(ARM_AM::getSORegOpc(ShOpcVal, ShImmVal),
612 Opc = CurDAG->getTargetConstant(ARM_AM::getSORegOpc(ShOpcVal, ShImmVal),
622 return CurDAG->haveNoCommonBitsSet(N, Parent->getOperand(1));
633 !CurDAG->isBaseWithConstantOffset(N)) {
637 Base = CurDAG->getTargetFrameIndex(
638 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
639 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
650 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
663 Base = CurDAG->getTargetFrameIndex(
664 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
666 OffImm = CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32);
673 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
696 Opc = CurDAG->getTargetConstant(ARM_AM::getAM2Opc(AddSub, ShAmt,
707 !CurDAG->isBaseWithConstantOffset(N))
782 Opc = CurDAG->getTargetConstant(ARM_AM::getAM2Opc(AddSub, ShAmt, ShOpcVal),
818 Opc = CurDAG->getTargetConstant(ARM_AM::getAM2Opc(AddSub, ShAmt, ShOpcVal),
834 Offset = CurDAG->getRegister(0, MVT::i32);
835 Opc = CurDAG->getTargetConstant(Val, SDLoc(Op), MVT::i32);
853 Offset = CurDAG->getRegister(0, MVT::i32);
854 Opc = CurDAG->getTargetConstant(ARM_AM::getAM2Opc(AddSub, Val,
875 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(ARM_AM::sub, 0), SDLoc(N),
880 if (!CurDAG->isBaseWithConstantOffset(N)) {
884 Base = CurDAG->getTargetFrameIndex(
885 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
887 Offset = CurDAG->getRegister(0, MVT::i32);
888 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(ARM_AM::add, 0), SDLoc(N),
900 Base = CurDAG->getTargetFrameIndex(
901 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
903 Offset = CurDAG->getRegister(0, MVT::i32);
910 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(AddSub, RHSC), SDLoc(N),
917 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(ARM_AM::add, 0), SDLoc(N),
932 Offset = CurDAG->getRegister(0, MVT::i32);
933 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(AddSub, Val), SDLoc(Op),
939 Opc = CurDAG->getTargetConstant(ARM_AM::getAM3Opc(AddSub, 0), SDLoc(Op),
946 if (!CurDAG->isBaseWithConstantOffset(N)) {
950 Base = CurDAG->getTargetFrameIndex(
951 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
958 Offset = CurDAG->getTargetConstant(ARM_AM::getAM5Opc(ARM_AM::add, 0),
971 Base = CurDAG->getTargetFrameIndex(
972 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
982 Offset = CurDAG->getTargetConstant(ARM_AM::getAM5FP16Opc(AddSub, RHSC),
985 Offset = CurDAG->getTargetConstant(ARM_AM::getAM5Opc(AddSub, RHSC),
994 Offset = CurDAG->getTargetConstant(ARM_AM::getAM5FP16Opc(ARM_AM::add, 0),
997 Offset = CurDAG->getTargetConstant(ARM_AM::getAM5Opc(ARM_AM::add, 0),
1038 Align = CurDAG->getTargetConstant(Alignment, SDLoc(N), MVT::i32);
1051 Offset = CurDAG->getRegister(0, MVT::i32);
1061 Label = CurDAG->getTargetConstant(cast<ConstantSDNode>(N1)->getZExtValue(),
1090 if (N.getOpcode() != ISD::ADD && !CurDAG->isBaseWithConstantOffset(N)) {
1116 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1120 if (!CurDAG->isBaseWithConstantOffset(N)) {
1133 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1141 OffImm = CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32);
1176 Base = CurDAG->getTargetFrameIndex(
1177 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1178 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1182 if (!CurDAG->isBaseWithConstantOffset(N))
1201 Base = CurDAG->getTargetFrameIndex(
1202 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1203 OffImm = CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32);
1216 if (N.getOpcode() == ISD::SUB || CurDAG->isBaseWithConstantOffset(N)) {
1224 CurDAG->getTargetConstant(RHSC * (1 << Shift), SDLoc(N), MVT::i32);
1231 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1247 !CurDAG->isBaseWithConstantOffset(N)) {
1251 Base = CurDAG->getTargetFrameIndex(
1252 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1253 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1266 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1283 Base = CurDAG->getTargetFrameIndex(
1284 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1286 OffImm = CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32);
1293 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1301 !CurDAG->isBaseWithConstantOffset(N))
1313 Base = CurDAG->getTargetFrameIndex(
1314 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1316 OffImm = CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32);
1333 ? CurDAG->getTargetConstant(RHSC, SDLoc(N), MVT::i32)
1334 : CurDAG->getTargetConstant(-RHSC, SDLoc(N), MVT::i32);
1344 if (N.getOpcode() == ISD::SUB || CurDAG->isBaseWithConstantOffset(N)) {
1351 Base = CurDAG->getTargetFrameIndex(
1352 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1358 CurDAG->getTargetConstant(RHSC * (1 << Shift), SDLoc(N), MVT::i32);
1365 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1402 ? CurDAG->getTargetConstant(RHSC * (1 << Shift), SDLoc(N), MVT::i32)
1403 : CurDAG->getTargetConstant(-RHSC * (1 << Shift), SDLoc(N),
1414 OffImm = CurDAG->getTargetConstant(Val, SDLoc(N), MVT::i32);
1424 if (N.getOpcode() != ISD::ADD && !CurDAG->isBaseWithConstantOffset(N))
1475 ShImm = CurDAG->getTargetConstant(ShAmt, SDLoc(N), MVT::i32);
1485 OffImm = CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
1487 if (N.getOpcode() != ISD::ADD || !CurDAG->isBaseWithConstantOffset(N))
1501 Base = CurDAG->getTargetFrameIndex(
1502 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
1505 OffImm = CurDAG->getTargetConstant(RHSC/4, SDLoc(N), MVT::i32);
1512 static inline SDValue getAL(SelectionDAG *CurDAG, const SDLoc &dl) {
1513 return CurDAG->getTargetConstant((uint64_t)ARMCC::AL, dl, MVT::i32);
1518 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Result), {MemOp});
1577 SDValue Ops[]= { Base, AMOpc, getAL(CurDAG, SDLoc(N)),
1578 CurDAG->getRegister(0, MVT::i32), Chain };
1579 SDNode *New = CurDAG->getMachineNode(Opcode, SDLoc(N), MVT::i32, MVT::i32,
1587 SDValue Ops[]= { Base, Offset, AMOpc, getAL(CurDAG, SDLoc(N)),
1588 CurDAG->getRegister(0, MVT::i32), Chain };
1589 SDNode *New = CurDAG->getMachineNode(Opcode, SDLoc(N), MVT::i32, MVT::i32,
1618 SDValue Ops[]= { Base, getAL(CurDAG, SDLoc(N)),
1619 CurDAG->getRegister(0, MVT::i32), Chain };
1620 SDNode *New = CurDAG->getMachineNode(ARM::tLDR_postidx, SDLoc(N), MVT::i32,
1666 SDValue Ops[]= { Base, Offset, getAL(CurDAG, SDLoc(N)),
1667 CurDAG->getRegister(0, MVT::i32), Chain };
1668 SDNode *New = CurDAG->getMachineNode(Opcode, SDLoc(N), MVT::i32, MVT::i32,
1702 PredReg = CurDAG->getRegister(0, MVT::i32);
1763 CurDAG->getTargetConstant(Pred, SDLoc(N), MVT::i32), PredReg,
1765 SDNode *New = CurDAG->getMachineNode(Opcode, SDLoc(N), N->getValueType(0),
1771 CurDAG->RemoveDeadNode(N);
1779 CurDAG->getTargetConstant(ARM::GPRPairRegClassID, dl, MVT::i32);
1780 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::gsub_0, dl, MVT::i32);
1781 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::gsub_1, dl, MVT::i32);
1783 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1790 CurDAG->getTargetConstant(ARM::DPR_VFP2RegClassID, dl, MVT::i32);
1791 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::ssub_0, dl, MVT::i32);
1792 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::ssub_1, dl, MVT::i32);
1794 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1800 SDValue RegClass = CurDAG->getTargetConstant(ARM::QPRRegClassID, dl,
1802 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::dsub_0, dl, MVT::i32);
1803 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::dsub_1, dl, MVT::i32);
1805 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1811 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQPRRegClassID, dl,
1813 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::qsub_0, dl, MVT::i32);
1814 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::qsub_1, dl, MVT::i32);
1816 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1824 CurDAG->getTargetConstant(ARM::QPR_VFP2RegClassID, dl, MVT::i32);
1825 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::ssub_0, dl, MVT::i32);
1826 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::ssub_1, dl, MVT::i32);
1827 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::ssub_2, dl, MVT::i32);
1828 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::ssub_3, dl, MVT::i32);
1831 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1838 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQPRRegClassID, dl,
1840 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::dsub_0, dl, MVT::i32);
1841 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::dsub_1, dl, MVT::i32);
1842 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::dsub_2, dl, MVT::i32);
1843 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::dsub_3, dl, MVT::i32);
1846 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1853 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQQQPRRegClassID, dl,
1855 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::qsub_0, dl, MVT::i32);
1856 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::qsub_1, dl, MVT::i32);
1857 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::qsub_2, dl, MVT::i32);
1858 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::qsub_3, dl, MVT::i32);
1861 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, dl, VT, Ops);
1883 return CurDAG->getTargetConstant(Alignment, dl, MVT::i32);
2054 ResTy = EVT::getVectorVT(*CurDAG->getContext(), MVT::i64, ResTyElts);
2062 SDValue Pred = getAL(CurDAG, dl);
2063 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2090 VLd = CurDAG->getMachineNode(Opc, dl, ResTys, Ops);
2100 SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, dl, ResTy), 0);
2102 SDNode *VLdA = CurDAG->getMachineNode(QOpcodes0[OpcodeIndex], dl,
2120 VLd = CurDAG->getMachineNode(QOpcodes1[OpcodeIndex], dl, ResTys, Ops);
2125 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VLd), {MemOp});
2140 CurDAG->getTargetExtractSubreg(Sub0 + Vec, dl, VT, SuperReg));
2144 CurDAG->RemoveDeadNode(N);
2194 SDValue Pred = getAL(CurDAG, dl);
2195 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2214 ? SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF,dl,VT), 0)
2248 SDNode *VSt = CurDAG->getMachineNode(Opc, dl, ResTys, Ops);
2251 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VSt), {MemOp});
2265 ? SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, dl, VT), 0)
2272 SDNode *VStA = CurDAG->getMachineNode(QOpcodes0[OpcodeIndex], dl,
2275 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VStA), {MemOp});
2292 SDNode *VStB = CurDAG->getMachineNode(QOpcodes1[OpcodeIndex], dl, ResTys,
2294 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VStB), {MemOp});
2334 Align = CurDAG->getTargetConstant(Alignment, dl, MVT::i32);
2357 ResTys.push_back(EVT::getVectorVT(*CurDAG->getContext(),
2364 SDValue Pred = getAL(CurDAG, dl);
2365 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2388 ? SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, dl, VT), 0)
2403 SDNode *VLdLn = CurDAG->getMachineNode(Opc, dl, ResTys, Ops);
2404 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VLdLn), {MemOp});
2418 CurDAG->getTargetExtractSubreg(Sub0 + Vec, dl, VT, SuperReg));
2422 CurDAG->RemoveDeadNode(N);
2428 Ops.push_back(CurDAG->getTargetConstant(ARMVCC::Then, Loc, MVT::i32));
2436 Ops.push_back(CurDAG->getTargetConstant(ARMVCC::Then, Loc, MVT::i32));
2443 Ops.push_back(CurDAG->getTargetConstant(ARMVCC::None, Loc, MVT::i32));
2444 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
2450 Ops.push_back(CurDAG->getTargetConstant(ARMVCC::None, Loc, MVT::i32));
2451 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
2453 CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, Loc, InactiveTy), 0));
2485 CurDAG->SelectNodeTo(N, Opcode, N->getVTList(), makeArrayRef(Ops));
2515 Ops.push_back(getAL(CurDAG, Loc));
2516 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
2518 CurDAG->SelectNodeTo(N, Opcode, N->getVTList(), makeArrayRef(Ops));
2552 CurDAG->SelectNodeTo(N, Opcode, N->getVTList(), makeArrayRef(Ops));
2614 CurDAG->SelectNodeTo(N, Opcode, N->getVTList(), makeArrayRef(Ops));
2666 EVT DataTy = EVT::getVectorVT(*CurDAG->getContext(), MVT::i64, NumVecs * 2);
2670 CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, Loc, DataTy), 0);
2675 CurDAG->getMachineNode(OurOpcodes[Stage], Loc, ResultTys, Ops);
2682 CurDAG->getTargetExtractSubreg(ARM::qsub_0 + i, Loc, VT, Data));
2684 CurDAG->RemoveDeadNode(N);
2717 Align = CurDAG->getTargetConstant(Alignment, dl, MVT::i32);
2740 EVT ResTy = EVT::getVectorVT(*CurDAG->getContext(), MVT::i64, ResTyElts);
2748 SDValue Pred = getAL(CurDAG, dl);
2749 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2775 VLdDup = CurDAG->getMachineNode(Opc, dl, ResTys, Ops);
2778 SDNode *VLdA = CurDAG->getMachineNode(QOpcodes0[OpcodeIndex],
2783 VLdDup = CurDAG->getMachineNode(QOpcodes1[OpcodeIndex], dl, ResTys, OpsB);
2786 SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, dl, ResTy), 0);
2788 SDNode *VLdA = CurDAG->getMachineNode(QOpcodes0[OpcodeIndex],
2794 VLdDup = CurDAG->getMachineNode(QOpcodes1[OpcodeIndex], dl, ResTys, OpsB);
2799 CurDAG->setNodeMemRefs(cast<MachineSDNode>(VLdDup), {MemOp});
2810 CurDAG->getTargetExtractSubreg(SubIdx+Vec, dl, VT, SuperReg));
2816 CurDAG->RemoveDeadNode(N);
2851 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2858 CurDAG->getTargetConstant(LSB, dl, MVT::i32),
2859 getAL(CurDAG, dl), Reg0, Reg0 };
2860 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
2867 CurDAG->getTargetConstant(ARM_AM::getSORegOpc(ShOpcVal, LSB), dl,
2870 getAL(CurDAG, dl), Reg0, Reg0 };
2871 CurDAG->SelectNodeTo(N, ARM::MOVsi, MVT::i32, Ops);
2877 CurDAG->getTargetConstant(LSB, dl, MVT::i32),
2878 CurDAG->getTargetConstant(Width, dl, MVT::i32),
2879 getAL(CurDAG, dl), Reg0 };
2880 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
2899 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2902 CurDAG->getTargetConstant(LSB, dl, MVT::i32),
2903 CurDAG->getTargetConstant(Width, dl, MVT::i32),
2904 getAL(CurDAG, dl), Reg0 };
2905 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
2921 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2924 CurDAG->getTargetConstant(Srl_imm, dl, MVT::i32),
2925 CurDAG->getTargetConstant(Width, dl, MVT::i32),
2926 getAL(CurDAG, dl), Reg0 };
2927 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
2942 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
2945 CurDAG->getTargetConstant(LSB, dl, MVT::i32),
2946 CurDAG->getTargetConstant(Width - 1, dl, MVT::i32),
2947 getAL(CurDAG, dl), Reg0 };
2948 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
2988 CurDAG->SelectNodeTo(N, Opcode, VT, ADDSrc0);
3010 SDNode *CmpSwap = CurDAG->getMachineNode(
3012 CurDAG->getVTList(MVT::i32, MVT::i32, MVT::Other), Ops);
3015 CurDAG->setNodeMemRefs(cast<MachineSDNode>(CmpSwap), {MemOp});
3019 CurDAG->RemoveDeadNode(N);
3065 SDValue Ops[] = { Src, CurDAG->getTargetConstant(Imm, dl, MVT::i32),
3066 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32),
3067 CurDAG->getRegister(0, MVT::i32) };
3068 return CurDAG->getMachineNode(Opc, dl, MVT::i32, Ops);
3070 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32), Src,
3071 CurDAG->getTargetConstant(Imm, dl, MVT::i32),
3072 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32)};
3073 return CurDAG->getMachineNode(Opc, dl, MVT::i32, Ops);
3136 CurDAG->getRegister(ARM::SP, MVT::i32),
3137 CurDAG->getTargetConstant(RHSC, dl, MVT::i32),
3138 getAL(CurDAG, dl),
3139 CurDAG->getRegister(0, MVT::i32),
3142 CurDAG->getMachineNode(ARM::tSTRspi, dl, MVT::Other, Ops);
3144 CurDAG->setNodeMemRefs(cast<MachineSDNode>(ResNode), {MemOp});
3174 SDValue CPIdx = CurDAG->getTargetConstantPool(
3175 ConstantInt::get(Type::getInt32Ty(*CurDAG->getContext()), Val),
3176 TLI->getPointerTy(CurDAG->getDataLayout()));
3182 getAL(CurDAG, dl),
3183 CurDAG->getRegister(0, MVT::i32),
3184 CurDAG->getEntryNode()
3186 ResNode = CurDAG->getMachineNode(ARM::tLDRpci, dl, MVT::i32, MVT::Other,
3191 CurDAG->getTargetConstant(0, dl, MVT::i32),
3192 getAL(CurDAG, dl),
3193 CurDAG->getRegister(0, MVT::i32),
3194 CurDAG->getEntryNode()
3196 ResNode = CurDAG->getMachineNode(ARM::LDRcp, dl, MVT::i32, MVT::Other,
3202 MachineFunction& MF = CurDAG->getMachineFunction();
3207 CurDAG->setNodeMemRefs(cast<MachineSDNode>(ResNode), {MemOp});
3219 SDValue TFI = CurDAG->getTargetFrameIndex(
3220 FI, TLI->getPointerTy(CurDAG->getDataLayout()));
3227 CurDAG->SelectNodeTo(N, ARM::tADDframe, MVT::i32, TFI,
3228 CurDAG->getTargetConstant(0, dl, MVT::i32));
3233 SDValue Ops[] = { TFI, CurDAG->getTargetConstant(0, dl, MVT::i32),
3234 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32),
3235 CurDAG->getRegister(0, MVT::i32) };
3236 CurDAG->SelectNodeTo(N, Opc, MVT::i32, Ops);
3261 SDValue ShImmOp = CurDAG->getTargetConstant(ShImm, dl, MVT::i32);
3262 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
3264 SDValue Ops[] = { V, V, ShImmOp, getAL(CurDAG, dl), Reg0, Reg0 };
3265 CurDAG->SelectNodeTo(N, ARM::t2ADDrs, MVT::i32, Ops);
3268 SDValue Ops[] = { V, V, Reg0, ShImmOp, getAL(CurDAG, dl), Reg0,
3270 CurDAG->SelectNodeTo(N, ARM::ADDrsi, MVT::i32, Ops);
3280 SDValue ShImmOp = CurDAG->getTargetConstant(ShImm, dl, MVT::i32);
3281 SDValue Reg0 = CurDAG->getRegister(0, MVT::i32);
3283 SDValue Ops[] = { V, V, ShImmOp, getAL(CurDAG, dl), Reg0, Reg0 };
3284 CurDAG->SelectNodeTo(N, ARM::t2RSBrs, MVT::i32, Ops);
3287 SDValue Ops[] = { V, V, Reg0, ShImmOp, getAL(CurDAG, dl), Reg0,
3289 CurDAG->SelectNodeTo(N, ARM::RSBrsi, MVT::i32, Ops);
3319 CurDAG->getConstant(~N1C->getZExtValue(), dl, MVT::i32);
3323 CurDAG->RepositionNode(N->getIterator(), NewImm.getNode());
3326 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32),
3327 N->getOperand(0), NewImm, getAL(CurDAG, dl),
3328 CurDAG->getRegister(0, MVT::i32)};
3329 ReplaceNode(N, CurDAG->getMachineNode(ARM::tBIC, dl, MVT::i32, Ops));
3332 SDValue Ops[] = {N->getOperand(0), NewImm, getAL(CurDAG, dl),
3333 CurDAG->getRegister(0, MVT::i32),
3334 CurDAG->getRegister(0, MVT::i32)};
3336 CurDAG->getMachineNode(ARM::t2BICrr, dl, MVT::i32, Ops));
3369 SDValue Imm16 = CurDAG->getTargetConstant((N2CVal & 0xFFFF0000U) >> 16,
3372 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32) };
3373 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, VT, Ops));
3384 getAL(CurDAG, dl),
3385 CurDAG->getRegister(0, MVT::i32) };
3386 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, MVT::i32, MVT::i32, Ops));
3392 N->getOperand(3), getAL(CurDAG, dl),
3393 CurDAG->getRegister(0, MVT::i32)};
3395 N, CurDAG->getMachineNode(ARM::t2UMLAL, dl, MVT::i32, MVT::i32, Ops));
3399 N->getOperand(3), getAL(CurDAG, dl),
3400 CurDAG->getRegister(0, MVT::i32),
3401 CurDAG->getRegister(0, MVT::i32) };
3402 ReplaceNode(N, CurDAG->getMachineNode(
3411 N->getOperand(3), getAL(CurDAG, dl),
3412 CurDAG->getRegister(0, MVT::i32)};
3414 N, CurDAG->getMachineNode(ARM::t2SMLAL, dl, MVT::i32, MVT::i32, Ops));
3418 N->getOperand(3), getAL(CurDAG, dl),
3419 CurDAG->getRegister(0, MVT::i32),
3420 CurDAG->getRegister(0, MVT::i32) };
3421 ReplaceNode(N, CurDAG->getMachineNode(
3453 N->getOperand(0), getAL(CurDAG, dl),
3454 CurDAG->getRegister(0, MVT::i32) };
3455 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, MVT::i32, Ops));
3484 SDNode *New = CurDAG->getMachineNode(Opc, dl, MVT::Other, Ops);
3486 CurDAG->RemoveDeadNode(N);
3494 CurDAG->getMachineNode(ARM::t2LoopDec, dl,
3495 CurDAG->getVTList(MVT::i32, MVT::Other), Ops);
3497 CurDAG->RemoveDeadNode(N);
3534 SDValue Size = CurDAG->getTargetConstant(
3540 CurDAG->getMachineNode(ARM::t2LoopDec, dl,
3541 CurDAG->getVTList(MVT::i32, MVT::Other),
3547 CurDAG->getMachineNode(ARM::t2LoopEnd, dl, MVT::Other, EndArgs);
3550 CurDAG->RemoveDeadNode(N);
3551 CurDAG->RemoveDeadNode(InFlag.getNode());
3552 CurDAG->RemoveDeadNode(Int.getNode());
3574 SDValue Tmp2 = CurDAG->getTargetConstant(CC, dl, MVT::i32);
3576 SDNode *ResNode = CurDAG->getMachineNode(Opc, dl, MVT::Other,
3585 CurDAG->RemoveDeadNode(N);
3606 SDValue Ops[] = { X, CurDAG->getTargetConstant(Addend, dl, MVT::i32),
3607 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32),
3608 CurDAG->getRegister(0, MVT::i32) };
3609 Add = CurDAG->getMachineNode(ARM::t2ADDri, dl, MVT::i32, Ops);
3612 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32), X,
3613 CurDAG->getTargetConstant(Addend, dl, MVT::i32),
3614 getAL(CurDAG, dl), CurDAG->getRegister(0, MVT::i32)};
3615 Add = CurDAG->getMachineNode(Opc, dl, MVT::i32, Ops);
3619 SDValue Ops2[] = {SDValue(Add, 0), CurDAG->getConstant(0, dl, MVT::i32)};
3620 CurDAG->MorphNodeTo(N, ARMISD::CMPZ, CurDAG->getVTList(MVT::Glue), Ops2);
3648 SDValue NewARMcc = CurDAG->getConstant((unsigned)CC, dl, MVT::i32);
3651 CurDAG->MorphNodeTo(N, ARMISD::CMOV, N->getVTList(), Ops);
3676 SDValue Pred = getAL(CurDAG, dl);
3677 SDValue PredReg = CurDAG->getRegister(0, MVT::i32);
3679 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, VT, VT, Ops));
3699 SDValue Pred = getAL(CurDAG, dl);
3700 SDValue PredReg = CurDAG->getRegister(0, MVT::i32);
3702 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, VT, VT, Ops));
3721 SDValue Pred = getAL(CurDAG, dl);
3722 SDValue PredReg = CurDAG->getRegister(0, MVT::i32);
3724 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, VT, VT, Ops));
4014 Ops.push_back(getAL(CurDAG, dl));
4015 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
4023 ReplaceNode(N, CurDAG->getMachineNode(Opc, dl, RetType, Ops));
4047 SDValue Ops[] = {MemAddr, getAL(CurDAG, dl),
4048 CurDAG->getRegister(0, MVT::i32), Chain};
4049 SDNode *Ld = CurDAG->getMachineNode(NewOpc, dl, ResTys, Ops);
4052 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Ld), {MemOp});
4062 CurDAG->getTargetConstant(ARM::gsub_0, dl, MVT::i32);
4063 SDNode *ResNode = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
4075 CurDAG->getTargetConstant(ARM::gsub_1, dl, MVT::i32);
4076 SDNode *ResNode = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
4083 CurDAG->RemoveDeadNode(N);
4108 Ops.push_back(getAL(CurDAG, dl));
4109 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
4116 SDNode *St = CurDAG->getMachineNode(NewOpc, dl, ResTys, Ops);
4119 CurDAG->setNodeMemRefs(cast<MachineSDNode>(St), {MemOp});
4545 SelectionDAG *CurDAG,
4558 Ops.push_back(CurDAG->getTargetConstant(IntField, DL, MVT::i32));
4670 getIntOperandsFromRegisterString(RegString->getString(), CurDAG, DL, Ops);
4689 Ops.push_back(getAL(CurDAG, DL));
4690 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
4692 ReplaceNode(N, CurDAG->getMachineNode(Opcode, DL, ResTypes, Ops));
4700 Ops = { CurDAG->getTargetConstant(BankedReg, DL, MVT::i32),
4701 getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4704 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRSbanked : ARM::MRSbanked,
4730 Ops = { getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4733 CurDAG->getMachineNode(Opcode, DL, MVT::i32, MVT::Other, Ops));
4745 SDValue Ops[] = { CurDAG->getTargetConstant(SYSmValue, DL, MVT::i32),
4746 getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4749 N, CurDAG->getMachineNode(ARM::t2MRS_M, DL, MVT::i32, MVT::Other, Ops));
4756 Ops = { getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4758 ReplaceNode(N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRS_AR : ARM::MRS,
4764 Ops = { getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4767 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRSsys_AR : ARM::MRSsys, DL,
4785 getIntOperandsFromRegisterString(RegString->getString(), CurDAG, DL, Ops);
4804 Ops.push_back(getAL(CurDAG, DL));
4805 Ops.push_back(CurDAG->getRegister(0, MVT::i32));
4808 ReplaceNode(N, CurDAG->getMachineNode(Opcode, DL, MVT::Other, Ops));
4815 Ops = { CurDAG->getTargetConstant(BankedReg, DL, MVT::i32), N->getOperand(2),
4816 getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4819 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MSRbanked : ARM::MSRbanked,
4838 Ops = { N->getOperand(2), getAL(CurDAG, DL),
4839 CurDAG->getRegister(0, MVT::i32), N->getOperand(0) };
4840 ReplaceNode(N, CurDAG->getMachineNode(Opcode, DL, MVT::Other, Ops));
4856 SDValue Ops[] = { CurDAG->getTargetConstant(SYSmValue, DL, MVT::i32),
4857 N->getOperand(2), getAL(CurDAG, DL),
4858 CurDAG->getRegister(0, MVT::i32), N->getOperand(0) };
4859 ReplaceNode(N, CurDAG->getMachineNode(ARM::t2MSR_M, DL, MVT::Other, Ops));
4868 Ops = { CurDAG->getTargetConstant(Mask, DL, MVT::i32), N->getOperand(2),
4869 getAL(CurDAG, DL), CurDAG->getRegister(0, MVT::i32),
4871 ReplaceNode(N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MSR_AR : ARM::MSR,
4969 PairedReg = CurDAG->getRegister(GPVR, MVT::Untyped);
4973 SDValue RegCopy = CurDAG->getCopyFromReg(Chain, dl, GPVR, MVT::Untyped,
4977 SDValue Sub0 = CurDAG->getTargetExtractSubreg(ARM::gsub_0, dl, MVT::i32,
4979 SDValue Sub1 = CurDAG->getTargetExtractSubreg(ARM::gsub_1, dl, MVT::i32,
4981 SDValue T0 = CurDAG->getCopyToReg(Sub0, dl, Reg0, Sub0,
4983 SDValue T1 = CurDAG->getCopyToReg(Sub1, dl, Reg1, Sub1, T0.getValue(1));
4988 CurDAG->UpdateNodeOperands(GU, Ops);
4996 SDValue T0 = CurDAG->getCopyFromReg(Chain, dl, Reg0, MVT::i32,
4998 SDValue T1 = CurDAG->getCopyFromReg(Chain, dl, Reg1, MVT::i32,
5005 PairedReg = CurDAG->getRegister(GPVR, MVT::Untyped);
5006 Chain = CurDAG->getCopyToReg(T1, dl, GPVR, Pair, T1.getValue(1));
5022 AsmNodeOperands[AsmNodeOperands.size() -1] = CurDAG->getTargetConstant(
5036 SDValue New = CurDAG->getNode(N->getOpcode(), SDLoc(N),
5037 CurDAG->getVTList(MVT::Other, MVT::Glue), AsmNodeOperands);