reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
 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());