reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2113 const MachineFunction &MF = *MI.getParent()->getParent(); 2116 if (MI.isRegSequence()) { 2121 for (unsigned I = 1, E = MI.getNumOperands(); I != E; I += 2) { 2122 auto OpBank = getRegBankID(MI.getOperand(I).getReg(), MRI, *TRI); 2130 unsigned Size = getSizeInBits(MI.getOperand(0).getReg(), MRI, *TRI); 2142 if (MI.getOpcode() == TargetOpcode::G_PHI) { 2146 for (unsigned I = 1, E = MI.getNumOperands(); I != E; I += 2) { 2147 Register Reg = MI.getOperand(I).getReg(); 2175 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2184 const RegisterBankInfo::InstructionMapping &Mapping = getInstrMappingImpl(MI); 2188 SmallVector<const ValueMapping*, 8> OpdsMapping(MI.getNumOperands()); 2190 switch (MI.getOpcode()) { 2197 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2200 = getRegBank(MI.getOperand(0).getReg(), MRI, *TRI); 2216 BankLHS = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI, 2218 BankRHS = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2222 BankLHS = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI, 2224 BankRHS = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2254 if (isSALUMapping(MI)) { 2259 unsigned Bank1 = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI/*, DefaultBankID*/); 2262 unsigned Bank2 = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI/*, DefaultBankID*/); 2288 if (isSALUMapping(MI)) 2289 return getDefaultMappingSOP(MI); 2317 return getDefaultMappingVOP(MI); 2320 if (Subtarget.hasScalarMulHiInsts() && isSALUMapping(MI)) 2321 return getDefaultMappingSOP(MI); 2322 return getDefaultMappingVOP(MI); 2325 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2333 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2340 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2345 unsigned BankID = isSALUMapping(MI) ? AMDGPU::SGPRRegBankID : 2347 unsigned DstSize = getSizeInBits(MI.getOperand(0).getReg(), MRI, *TRI); 2348 unsigned SrcSize = getSizeInBits(MI.getOperand(1).getReg(), MRI, *TRI); 2349 unsigned EltSize = getSizeInBits(MI.getOperand(2).getReg(), MRI, *TRI); 2357 unsigned BankID = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI); 2358 unsigned DstSize = getSizeInBits(MI.getOperand(0).getReg(), MRI, *TRI); 2359 unsigned SrcSize = getSizeInBits(MI.getOperand(1).getReg(), MRI, *TRI); 2367 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); 2370 unsigned SrcSize = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits(); 2371 unsigned Src0BankID = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI); 2372 unsigned Src1BankID = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI); 2385 unsigned Bank = isSALUMapping(MI) ? 2387 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2388 unsigned SrcSize = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits(); 2392 for (unsigned i = 1, e = MI.getNumOperands(); i != e; ++i) 2408 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2409 unsigned BankID = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI); 2414 Register Dst = MI.getOperand(0).getReg(); 2415 Register Src = MI.getOperand(1).getReg(); 2426 Register Dst = MI.getOperand(0).getReg(); 2427 Register Src = MI.getOperand(1).getReg(); 2445 if (MI.getOpcode() == AMDGPU::G_ANYEXT) { 2458 unsigned Size = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2459 unsigned Op2Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI); 2467 assert(MI.getOperand(0).isReg()); 2468 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2485 auto Pred = static_cast<CmpInst::Predicate>(MI.getOperand(1).getPredicate()); 2486 unsigned Size = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2487 unsigned Op2Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI); 2488 unsigned Op3Bank = getRegBankID(MI.getOperand(3).getReg(), MRI, *TRI); 2506 unsigned SrcBankID = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI); 2507 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2508 unsigned SrcSize = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits(); 2509 unsigned IdxSize = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2510 unsigned IdxBank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI); 2521 unsigned OutputBankID = isSALUMapping(MI) ? 2524 unsigned VecSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2525 unsigned InsertSize = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2526 unsigned IdxSize = MRI.getType(MI.getOperand(3).getReg()).getSizeInBits(); 2527 unsigned SrcBankID = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI); 2528 unsigned InsertEltBankID = getRegBankID(MI.getOperand(2).getReg(), 2530 unsigned IdxBankID = getRegBankID(MI.getOperand(3).getReg(), MRI, *TRI); 2542 unsigned Bank = isSALUMapping(MI) ? AMDGPU::SGPRRegBankID : 2547 for (unsigned i = 0, e = MI.getNumOperands(); i != e; ++i) { 2548 unsigned Size = getSizeInBits(MI.getOperand(i).getReg(), MRI, *TRI); 2554 switch (MI.getIntrinsicID()) { 2609 return getDefaultMappingVOP(MI); 2614 return getDefaultMappingAllVGPR(MI); 2618 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2623 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2630 Register RSrc = MI.getOperand(2).getReg(); // SGPR 2631 Register Offset = MI.getOperand(3).getReg(); // SGPR/imm 2633 unsigned Size0 = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2651 unsigned Dst0Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2652 unsigned Dst1Size = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits(); 2656 unsigned SrcSize = MRI.getType(MI.getOperand(3).getReg()).getSizeInBits(); 2658 getRegBankID(MI.getOperand(3).getReg(), MRI, *TRI), SrcSize); 2660 getRegBankID(MI.getOperand(4).getReg(), MRI, *TRI), SrcSize); 2665 Register Src0Reg = MI.getOperand(2).getReg(); 2666 Register Src1Reg = MI.getOperand(3).getReg(); 2669 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2679 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2682 unsigned OpSize = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2683 unsigned Op1Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI); 2684 unsigned Op2Bank = getRegBankID(MI.getOperand(3).getReg(), MRI, *TRI); 2691 Register IdxReg = MI.getOperand(3).getReg(); 2698 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2699 unsigned SrcSize = MRI.getType(MI.getOperand(2).getReg()).getSizeInBits(); 2705 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2706 Register SrcReg = MI.getOperand(2).getReg(); 2709 Register IdxReg = MI.getOperand(3).getReg(); 2722 unsigned Size = getSizeInBits(MI.getOperand(0).getReg(), MRI, *TRI); 2732 auto IntrID = MI.getIntrinsicID(); 2738 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2749 return getDefaultMappingAllVGPR(MI); 2752 unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2754 unsigned M0Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2780 Register RSrc = MI.getOperand(2).getReg(); // SGPR 2781 Register VIndex = MI.getOperand(3).getReg(); // VGPR 2782 Register Offset = MI.getOperand(4).getReg(); // SGPR/VGPR/imm 2784 unsigned Size0 = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2807 unsigned Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2814 unsigned Size = getSizeInBits(MI.getOperand(1).getReg(), MRI, *TRI); 2819 unsigned WaveSize = getSizeInBits(MI.getOperand(1).getReg(), MRI, *TRI); 2833 OpdsMapping[0] = getVGPROpMapping(MI.getOperand(0).getReg(), MRI, *TRI); 2834 OpdsMapping[2] = getSGPROpMapping(MI.getOperand(2).getReg(), MRI, *TRI); 2835 OpdsMapping[3] = getVGPROpMapping(MI.getOperand(3).getReg(), MRI, *TRI); 2836 OpdsMapping[4] = getSGPROpMapping(MI.getOperand(4).getReg(), MRI, *TRI); 2842 OpdsMapping[1] = getVGPROpMapping(MI.getOperand(1).getReg(), MRI, *TRI); 2843 OpdsMapping[2] = getSGPROpMapping(MI.getOperand(2).getReg(), MRI, *TRI); 2844 OpdsMapping[3] = getVGPROpMapping(MI.getOperand(3).getReg(), MRI, *TRI); 2845 OpdsMapping[4] = getSGPROpMapping(MI.getOperand(4).getReg(), MRI, *TRI); 2850 OpdsMapping[0] = getVGPROpMapping(MI.getOperand(0).getReg(), MRI, *TRI); 2851 OpdsMapping[2] = getSGPROpMapping(MI.getOperand(2).getReg(), MRI, *TRI); 2852 OpdsMapping[3] = getVGPROpMapping(MI.getOperand(3).getReg(), MRI, *TRI); 2853 OpdsMapping[4] = getVGPROpMapping(MI.getOperand(4).getReg(), MRI, *TRI); 2854 OpdsMapping[5] = getSGPROpMapping(MI.getOperand(5).getReg(), MRI, *TRI); 2859 OpdsMapping[1] = getVGPROpMapping(MI.getOperand(1).getReg(), MRI, *TRI); 2860 OpdsMapping[2] = getSGPROpMapping(MI.getOperand(2).getReg(), MRI, *TRI); 2861 OpdsMapping[3] = getVGPROpMapping(MI.getOperand(3).getReg(), MRI, *TRI); 2862 OpdsMapping[4] = getVGPROpMapping(MI.getOperand(4).getReg(), MRI, *TRI); 2863 OpdsMapping[5] = getSGPROpMapping(MI.getOperand(5).getReg(), MRI, *TRI); 2867 unsigned Size = getSizeInBits(MI.getOperand(1).getReg(), MRI, *TRI); 2878 unsigned Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2887 unsigned Bank = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI, 2899 return getImageMapping(MRI, MI, RSrcIntrin->RsrcArg); 2907 unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); 2908 unsigned Op2Bank = getRegBankID(MI.getOperand(2).getReg(), MRI, *TRI, 2910 unsigned Op3Bank = getRegBankID(MI.getOperand(3).getReg(), MRI, *TRI, 2917 unsigned CondBank = getRegBankID(MI.getOperand(1).getReg(), MRI, *TRI, 2947 return getInstrMappingForLoad(MI); 2962 return getDefaultMappingAllVGPR(MI); 2965 unsigned Bank = getRegBankID(MI.getOperand(0).getReg(), MRI, *TRI, 2967 assert(MRI.getType(MI.getOperand(0).getReg()).getSizeInBits() == 1); 2978 MI.getNumOperands());