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

Lines Matching refs:CurDAG

434     SDVTList VTList = CurDAG->getVTList(VT, MVT::Other);
436 SDValue TiedIn = CurDAG->getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), VT, Lo);
450 CurDAG->getMemIntrinsicNode(LoadOp, SDLoc(LdHi), VTList,
454 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), NewLoadHi);
455 CurDAG->ReplaceAllUsesOfValueWith(SDValue(LdHi, 1), NewLoadHi.getValue(1));
468 SDVTList VTList = CurDAG->getVTList(VT, MVT::Other);
477 TiedIn = CurDAG->getNode(ISD::BITCAST, SDLoc(N), VT, TiedIn);
484 CurDAG->getMemIntrinsicNode(LoadOp, SDLoc(LdLo), VTList,
488 CurDAG->ReplaceAllUsesOfValueWith(SDValue(N, 0), NewLoadLo);
489 CurDAG->ReplaceAllUsesOfValueWith(SDValue(LdLo, 1), NewLoadLo.getValue(1));
500 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
503 while (Position != CurDAG->allnodes_begin()) {
518 CurDAG->RemoveDeadNodes();
520 CurDAG->dump(););
532 return CurDAG->isKnownNeverNaN(N);
569 MachineRegisterInfo &MRI = CurDAG->getMachineFunction().getRegInfo();
615 return CurDAG->MorphNodeTo(N, N->getOpcode(), N->getVTList(), Ops);
624 SDValue M0 = Lowering.copyToM0(*CurDAG, N->getOperand(0), SDLoc(N), Val);
632 return glueCopyToM0(N, CurDAG->getTargetConstant(-1, SDLoc(N), MVT::i32));
634 MachineFunction &MF = CurDAG->getMachineFunction();
637 glueCopyToM0(N, CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i32));
644 SDNode *Lo = CurDAG->getMachineNode(
646 CurDAG->getTargetConstant(Imm & 0xFFFFFFFF, DL, MVT::i32));
648 CurDAG->getMachineNode(AMDGPU::S_MOV_B32, DL, MVT::i32,
649 CurDAG->getTargetConstant(Imm >> 32, DL, MVT::i32));
651 CurDAG->getTargetConstant(AMDGPU::SReg_64RegClassID, DL, MVT::i32),
652 SDValue(Lo, 0), CurDAG->getTargetConstant(AMDGPU::sub0, DL, MVT::i32),
653 SDValue(Hi, 0), CurDAG->getTargetConstant(AMDGPU::sub1, DL, MVT::i32)};
655 return CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, DL, VT, Ops);
686 SDValue RegClass = CurDAG->getTargetConstant(RegClassID, DL, MVT::i32);
689 CurDAG->SelectNodeTo(N, AMDGPU::COPY_TO_REGCLASS, EltVT, N->getOperand(0),
701 RegSeqArgs[0] = CurDAG->getTargetConstant(RegClassID, DL, MVT::i32);
712 RegSeqArgs[1 + (2 * i) + 1] = CurDAG->getTargetConstant(Sub, DL, MVT::i32);
717 MachineSDNode *ImpDef = CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF,
723 CurDAG->getTargetConstant(Sub, DL, MVT::i32);
729 CurDAG->SelectNodeTo(N, AMDGPU::REG_SEQUENCE, N->getVTList(), RegSeqArgs);
794 if (SDNode *Packed = packConstantV2I16(N, *CurDAG)) {
812 RC = CurDAG->getTargetConstant(AMDGPU::SGPR_128RegClassID, DL, MVT::i32);
813 SubReg0 = CurDAG->getTargetConstant(AMDGPU::sub0_sub1, DL, MVT::i32);
814 SubReg1 = CurDAG->getTargetConstant(AMDGPU::sub2_sub3, DL, MVT::i32);
816 RC = CurDAG->getTargetConstant(AMDGPU::SReg_64RegClassID, DL, MVT::i32);
817 SubReg0 = CurDAG->getTargetConstant(AMDGPU::sub0, DL, MVT::i32);
818 SubReg1 = CurDAG->getTargetConstant(AMDGPU::sub1, DL, MVT::i32);
824 ReplaceNode(N, CurDAG->getMachineNode(TargetOpcode::REG_SEQUENCE, DL,
889 N = Lowering.legalizeTargetIndependentNode(N, *CurDAG);
919 N = CurDAG->MorphNodeTo(N, N->getOpcode(), CurDAG->getVTList(NewVT),
970 Base = CurDAG->getRegister(R600::INDIRECT_BASE_ADDR, MVT::i32);
971 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
974 Base = CurDAG->getRegister(R600::INDIRECT_BASE_ADDR, MVT::i32);
975 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
979 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
982 Offset = CurDAG->getTargetConstant(0, DL, MVT::i32);
990 SDNode *Mov = CurDAG->getMachineNode(
992 CurDAG->getTargetConstant(Val, DL, MVT::i32));
1008 SDValue Sub0 = CurDAG->getTargetConstant(AMDGPU::sub0, DL, MVT::i32);
1009 SDValue Sub1 = CurDAG->getTargetConstant(AMDGPU::sub1, DL, MVT::i32);
1011 SDNode *Lo0 = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1013 SDNode *Hi0 = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1016 SDNode *Lo1 = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1018 SDNode *Hi1 = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1021 SDVTList VTList = CurDAG->getVTList(MVT::i32, MVT::Glue);
1029 AddLo = CurDAG->getMachineNode(Opc, DL, VTList, Args);
1032 AddLo = CurDAG->getMachineNode(CarryOpc, DL, VTList, Args);
1039 SDNode *AddHi = CurDAG->getMachineNode(CarryOpc, DL, VTList, AddHiArgs);
1042 CurDAG->getTargetConstant(AMDGPU::SReg_64RegClassID, DL, MVT::i32),
1048 SDNode *RegSequence = CurDAG->getMachineNode(AMDGPU::REG_SEQUENCE, DL,
1068 CurDAG->SelectNodeTo(
1070 {LHS, RHS, CI, CurDAG->getTargetConstant(0, {}, MVT::i1) /*clamp bit*/});
1080 CurDAG->SelectNodeTo(
1083 CurDAG->getTargetConstant(0, {}, MVT::i1) /*clamp bit*/});
1097 CurDAG->SelectNodeTo(N, AMDGPU::V_FMA_F32, N->getVTList(), Ops);
1110 CurDAG->SelectNodeTo(N, AMDGPU::V_MUL_F32_e64, N->getVTList(), Ops);
1125 CurDAG->SelectNodeTo(N, Opc, N->getVTList(), Ops);
1142 SDValue VCC = CurDAG->getCopyToReg(CurDAG->getEntryNode(), SL,
1154 CurDAG->SelectNodeTo(N, Opc, N->getVTList(), Ops);
1164 SDValue Clamp = CurDAG->getTargetConstant(0, SL, MVT::i1);
1167 CurDAG->SelectNodeTo(N, Opc, N->getVTList(), Ops);
1182 return CurDAG->SignBitIsZero(Base);
1188 if (CurDAG->isBaseWithConstantOffset(Addr)) {
1195 Offset = CurDAG->getTargetConstant(C1->getZExtValue(), DL, MVT::i16);
1203 SDValue Zero = CurDAG->getTargetConstant(0, DL, MVT::i32);
1208 SDValue Sub = CurDAG->getNode(ISD::SUB, DL, MVT::i32,
1221 CurDAG->getTargetConstant(0, {}, MVT::i1)); // clamp bit
1225 CurDAG->getMachineNode(SubOp, DL, MVT::i32, Opnds);
1228 Offset = CurDAG->getTargetConstant(ByteOffset, DL, MVT::i16);
1242 SDValue Zero = CurDAG->getTargetConstant(0, DL, MVT::i32);
1243 MachineSDNode *MovZero = CurDAG->getMachineNode(AMDGPU::V_MOV_B32_e32,
1246 Offset = CurDAG->getTargetConstant(CAddr->getZExtValue(), DL, MVT::i16);
1253 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i16);
1263 if (CurDAG->isBaseWithConstantOffset(Addr)) {
1272 Offset0 = CurDAG->getTargetConstant(DWordOffset0, DL, MVT::i8);
1273 Offset1 = CurDAG->getTargetConstant(DWordOffset1, DL, MVT::i8);
1284 SDValue Zero = CurDAG->getTargetConstant(0, DL, MVT::i32);
1289 SDValue Sub = CurDAG->getNode(ISD::SUB, DL, MVT::i32,
1300 CurDAG->getTargetConstant(0, {}, MVT::i1)); // clamp bit
1304 = CurDAG->getMachineNode(SubOp, DL, MVT::i32, Opnds);
1307 Offset0 = CurDAG->getTargetConstant(DWordOffset0, DL, MVT::i8);
1308 Offset1 = CurDAG->getTargetConstant(DWordOffset1, DL, MVT::i8);
1319 SDValue Zero = CurDAG->getTargetConstant(0, DL, MVT::i32);
1321 = CurDAG->getMachineNode(AMDGPU::V_MOV_B32_e32,
1324 Offset0 = CurDAG->getTargetConstant(DWordOffset0, DL, MVT::i8);
1325 Offset1 = CurDAG->getTargetConstant(DWordOffset1, DL, MVT::i8);
1333 Offset0 = CurDAG->getTargetConstant(0, DL, MVT::i8);
1334 Offset1 = CurDAG->getTargetConstant(1, DL, MVT::i8);
1352 GLC = CurDAG->getTargetConstant(0, DL, MVT::i1);
1354 SLC = CurDAG->getTargetConstant(0, DL, MVT::i1);
1355 TFE = CurDAG->getTargetConstant(0, DL, MVT::i1);
1356 DLC = CurDAG->getTargetConstant(0, DL, MVT::i1);
1357 SWZ = CurDAG->getTargetConstant(0, DL, MVT::i1);
1359 Idxen = CurDAG->getTargetConstant(0, DL, MVT::i1);
1360 Offen = CurDAG->getTargetConstant(0, DL, MVT::i1);
1361 Addr64 = CurDAG->getTargetConstant(0, DL, MVT::i1);
1362 SOffset = CurDAG->getTargetConstant(0, DL, MVT::i32);
1366 if (CurDAG->isBaseWithConstantOffset(Addr)) {
1379 Addr64 = CurDAG->getTargetConstant(1, DL, MVT::i1);
1397 Offset = CurDAG->getTargetConstant(0, DL, MVT::i16);
1403 Addr64 = CurDAG->getTargetConstant(1, DL, MVT::i1);
1407 VAddr = CurDAG->getTargetConstant(0, DL, MVT::i32);
1413 Offset = CurDAG->getTargetConstant(0, DL, MVT::i16);
1419 Offset = CurDAG->getTargetConstant(C1->getZExtValue(), DL, MVT::i16);
1424 Offset = CurDAG->getTargetConstant(0, DL, MVT::i16);
1426 SDValue(CurDAG->getMachineNode(
1428 CurDAG->getTargetConstant(C1->getZExtValue(), DL, MVT::i32)),
1455 SRsrc = SDValue(Lowering.wrapAddr64Rsrc(*CurDAG, DL, Ptr), 0);
1466 SLC = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i1);
1478 const MachineFunction &MF = CurDAG->getMachineFunction();
1482 SDValue TFI = CurDAG->getTargetFrameIndex(FI->getIndex(),
1488 TFI, CurDAG->getRegister(Info->getStackPtrOffsetReg(), MVT::i32));
1493 return std::make_pair(N, CurDAG->getRegister(Info->getScratchWaveOffsetReg(),
1503 MachineFunction &MF = CurDAG->getMachineFunction();
1506 Rsrc = CurDAG->getRegister(Info->getScratchRSrcReg(), MVT::v4i32);
1511 SDValue HighBits = CurDAG->getTargetConstant(Imm & ~4095, DL, MVT::i32);
1512 MachineSDNode *MovHighBits = CurDAG->getMachineNode(AMDGPU::V_MOV_B32_e32,
1522 SOffset = CurDAG->getRegister(SOffsetReg, MVT::i32);
1523 ImmOffset = CurDAG->getTargetConstant(Imm & 4095, DL, MVT::i16);
1527 if (CurDAG->isBaseWithConstantOffset(Addr)) {
1551 CurDAG->SignBitIsZero(N0))) {
1553 ImmOffset = CurDAG->getTargetConstant(C1->getZExtValue(), DL, MVT::i16);
1560 ImmOffset = CurDAG->getTargetConstant(0, DL, MVT::i16);
1574 MachineFunction &MF = CurDAG->getMachineFunction();
1577 SRsrc = CurDAG->getRegister(Info->getScratchRSrcReg(), MVT::v4i32);
1585 SOffset = CurDAG->getRegister(SOffsetReg, MVT::i32);
1587 Offset = CurDAG->getTargetConstant(CAddr->getZExtValue(), DL, MVT::i16);
1614 SRsrc = SDValue(Lowering.buildRSRC(*CurDAG, DL, Ptr, 0, Rsrc), 0);
1660 CurDAG->isBaseWithConstantOffset(Addr)) {
1706 SDValue Sub0 = CurDAG->getTargetConstant(AMDGPU::sub0, DL, MVT::i32);
1707 SDValue Sub1 = CurDAG->getTargetConstant(AMDGPU::sub1, DL, MVT::i32);
1709 SDNode *N0Lo = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1711 SDNode *N0Hi = CurDAG->getMachineNode(TargetOpcode::EXTRACT_SUBREG,
1719 SDVTList VTs = CurDAG->getVTList(MVT::i32, MVT::i1);
1720 SDValue Clamp = CurDAG->getTargetConstant(0, DL, MVT::i1);
1722 SDNode *Add = CurDAG->getMachineNode(
1726 SDNode *Addc = CurDAG->getMachineNode(
1731 CurDAG->getTargetConstant(AMDGPU::VReg_64RegClassID, DL, MVT::i32),
1735 Addr = SDValue(CurDAG->getMachineNode(AMDGPU::REG_SEQUENCE, DL,
1741 Offset = CurDAG->getTargetConstant(OffsetVal, SDLoc(), MVT::i16);
1742 SLC = CurDAG->getTargetConstant(0, SDLoc(), MVT::i1);
1776 Offset = CurDAG->getTargetConstant(EncodedOffset, SL, MVT::i32);
1786 Offset = CurDAG->getTargetConstant(EncodedOffset, SL, MVT::i32);
1788 SDValue C32Bit = CurDAG->getTargetConstant(ByteOffset, SL, MVT::i32);
1789 Offset = SDValue(CurDAG->getMachineNode(AMDGPU::S_MOV_B32, SL, MVT::i32,
1803 const MachineFunction &MF = CurDAG->getMachineFunction();
1806 SDValue AddrHi = CurDAG->getTargetConstant(AddrHiVal, SL, MVT::i32);
1809 CurDAG->getTargetConstant(AMDGPU::SReg_64_XEXECRegClassID, SL, MVT::i32),
1811 CurDAG->getTargetConstant(AMDGPU::sub0, SL, MVT::i32),
1812 SDValue(CurDAG->getMachineNode(AMDGPU::S_MOV_B32, SL, MVT::i32, AddrHi),
1814 CurDAG->getTargetConstant(AMDGPU::sub1, SL, MVT::i32),
1817 return SDValue(CurDAG->getMachineNode(AMDGPU::REG_SEQUENCE, SL, MVT::i64,
1829 CurDAG->isBaseWithConstantOffset(Addr)) {
1839 Offset = CurDAG->getTargetConstant(0, SL, MVT::i32);
1893 if (CurDAG->isBaseWithConstantOffset(Index)) {
1901 if (C1->getSExtValue() <= 0 || CurDAG->SignBitIsZero(N0)) {
1903 Offset = CurDAG->getTargetConstant(C1->getZExtValue(), DL, MVT::i32);
1912 Offset = CurDAG->getTargetConstant(0, DL, MVT::i32);
1923 SDValue PackedConst = CurDAG->getTargetConstant(PackedVal, DL, MVT::i32);
1925 return CurDAG->getMachineNode(Opcode, DL, MVT::i32, Val, PackedConst);
2059 CurDAG->SelectNodeTo(N, AMDGPU::SI_BR_UNDEF, MVT::Other,
2086 Cond = SDValue(CurDAG->getMachineNode(ST->isWave32() ? AMDGPU::S_AND_B32
2089 CurDAG->getRegister(ST->isWave32() ? AMDGPU::EXEC_LO
2096 SDValue VCC = CurDAG->getCopyToReg(N->getOperand(0), SL, CondReg, Cond);
2097 CurDAG->SelectNodeTo(N, BrOp, MVT::Other,
2131 SDValue Zero = CurDAG->getTargetConstant(0, SDLoc(), MVT::i32);
2133 CurDAG->getTargetConstant(Src0Mods, SDLoc(), MVT::i32), Src0,
2134 CurDAG->getTargetConstant(Src1Mods, SDLoc(), MVT::i32), Src1,
2135 CurDAG->getTargetConstant(Src2Mods, SDLoc(), MVT::i32), Src2,
2136 CurDAG->getTargetConstant(0, SDLoc(), MVT::i1),
2140 CurDAG->SelectNodeTo(N,
2177 CmpSwap = CurDAG->getMachineNode(Opcode, SL, Mem->getVTList(), Ops);
2192 CmpSwap = CurDAG->getMachineNode(Opcode, SL, Mem->getVTList(), Ops);
2202 CurDAG->setNodeMemRefs(CmpSwap, {MMO});
2206 = CurDAG->getTargetExtractSubreg(SubReg, SL, VT, SDValue(CmpSwap, 0));
2210 CurDAG->RemoveDeadNode(N);
2226 if (CurDAG->isBaseWithConstantOffset(Ptr)) {
2233 Offset = CurDAG->getTargetConstant(OffsetVal, SDLoc(), MVT::i32);
2239 Offset = CurDAG->getTargetConstant(0, SDLoc(), MVT::i32);
2244 CurDAG->getTargetConstant(IsGDS, SDLoc(), MVT::i32),
2249 SDNode *Selected = CurDAG->SelectNodeTo(N, Opc, N->getVTList(), Ops);
2250 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Selected), {MMO});
2301 glueCopyToM0(N, CurDAG->getTargetConstant(0, SL, MVT::i32));
2304 if (CurDAG->isBaseWithConstantOffset(BaseOffset)) {
2313 = CurDAG->getMachineNode(AMDGPU::V_READFIRSTLANE_B32, SL, MVT::i32,
2317 = CurDAG->getMachineNode(AMDGPU::S_LSHL_B32, SL, MVT::i32,
2319 CurDAG->getTargetConstant(16, SL, MVT::i32));
2324 SDValue OffsetField = CurDAG->getTargetConstant(ImmOffset, SL, MVT::i32);
2327 SDValue GDS = CurDAG->getTargetConstant(1, SL, MVT::i1);
2337 SDNode *Selected = CurDAG->SelectNodeTo(N, Opc, N->getVTList(), Ops);
2338 CurDAG->setNodeMemRefs(cast<MachineSDNode>(Selected), {MMO});
2375 CurDAG->SelectNodeTo(N, Opcode, N->getVTList(), {Src});
2418 SrcMods = CurDAG->getTargetConstant(Mods, SDLoc(In), MVT::i32);
2436 SrcMods = CurDAG->getTargetConstant(0, SDLoc(In), MVT::i32);;
2452 Clamp = CurDAG->getTargetConstant(0, DL, MVT::i1);
2453 Omod = CurDAG->getTargetConstant(0, DL, MVT::i1);
2463 Clamp = CurDAG->getTargetConstant(0, DL, MVT::i1);
2464 Omod = CurDAG->getTargetConstant(0, DL, MVT::i1);
2509 SrcMods = CurDAG->getTargetConstant(Mods, SDLoc(In), MVT::i32);
2519 SrcMods = CurDAG->getTargetConstant(Mods, SDLoc(In), MVT::i32);
2529 Clamp = CurDAG->getTargetConstant(0, SL, MVT::i32);
2538 SrcMods = CurDAG->getTargetConstant(0, SDLoc(In), MVT::i32);
2548 Clamp = CurDAG->getTargetConstant(0, SL, MVT::i32);
2565 Clamp = CurDAG->getTargetConstant(0, SL, MVT::i32);
2617 SrcMods = CurDAG->getTargetConstant(Mods, SDLoc(In), MVT::i32);
2623 return CurDAG->getUNDEF(MVT::i32);
2627 return CurDAG->getConstant(C->getZExtValue() << 16, SL, MVT::i32);
2632 return CurDAG->getConstant(
2644 assert(CurDAG->getTarget().getTargetTriple().getArch() == Triple::amdgcn);
2724 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_begin();
2725 while (Position != CurDAG->allnodes_end()) {
2731 SDNode *ResNode = Lowering.PostISelFolding(MachineNode, *CurDAG);
2738 CurDAG->RemoveDeadNodes();
2760 IntPtr = CurDAG->getIntPtrConstant(Cst->getZExtValue() / 4, SDLoc(Addr),
2771 Offset = CurDAG->getIntPtrConstant(0, SDLoc(Addr), true);
2820 Base = CurDAG->getRegister(R600::INDIRECT_BASE_ADDR, MVT::i32);
2821 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
2824 Base = CurDAG->getRegister(R600::INDIRECT_BASE_ADDR, MVT::i32);
2825 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
2829 Offset = CurDAG->getTargetConstant(C->getZExtValue(), DL, MVT::i32);
2832 Offset = CurDAG->getTargetConstant(0, DL, MVT::i32);
2847 Offset = CurDAG->getTargetConstant(IMMOffset->getZExtValue(), SDLoc(Addr),
2853 Base = CurDAG->getCopyFromReg(CurDAG->getEntryNode(),
2854 SDLoc(CurDAG->getEntryNode()),
2856 Offset = CurDAG->getTargetConstant(IMMOffset->getZExtValue(), SDLoc(Addr),
2863 Offset = CurDAG->getTargetConstant(0, SDLoc(Addr), MVT::i32);