Lines Matching full:amdgpu

27 #include "AMDGPU.h"
39 using namespace llvm::AMDGPU;
41 #define DEBUG_TYPE "amdgpu-resource-usage"
50 "amdgpu-assume-external-call-stack-size",
55 "amdgpu-assume-dynamic-stack-object-size",
90 return AMDGPU::getTotalNumVGPRs(ST.hasGFX90AInsts(), ArgNumAGPR, ArgNumVGPR); in getTotalNumVGPRs()
116 if (AMDGPU::getAMDHSACodeObjectVersion(M) >= AMDGPU::AMDHSA_COV5 || in runOnModule()
182 Info.UsesFlatScratch = MRI.isPhysRegUsed(AMDGPU::FLAT_SCR_LO) || in analyzeResourceUsage()
183 MRI.isPhysRegUsed(AMDGPU::FLAT_SCR_HI) || in analyzeResourceUsage()
194 (!hasAnyNonFlatUseOfReg(MRI, *TII, AMDGPU::FLAT_SCR) && in analyzeResourceUsage()
195 !hasAnyNonFlatUseOfReg(MRI, *TII, AMDGPU::FLAT_SCR_LO) && in analyzeResourceUsage()
196 !hasAnyNonFlatUseOfReg(MRI, *TII, AMDGPU::FLAT_SCR_HI))) { in analyzeResourceUsage()
211 MRI.isPhysRegUsed(AMDGPU::VCC_LO) || MRI.isPhysRegUsed(AMDGPU::VCC_HI); in analyzeResourceUsage()
217 MCPhysReg HighestVGPRReg = AMDGPU::NoRegister; in analyzeResourceUsage()
218 for (MCPhysReg Reg : reverse(AMDGPU::VGPR_32RegClass.getRegisters())) { in analyzeResourceUsage()
226 MCPhysReg HighestAGPRReg = AMDGPU::NoRegister; in analyzeResourceUsage()
227 for (MCPhysReg Reg : reverse(AMDGPU::AGPR_32RegClass.getRegisters())) { in analyzeResourceUsage()
233 Info.NumAGPR = HighestAGPRReg == AMDGPU::NoRegister in analyzeResourceUsage()
238 MCPhysReg HighestSGPRReg = AMDGPU::NoRegister; in analyzeResourceUsage()
239 for (MCPhysReg Reg : reverse(AMDGPU::SGPR_32RegClass.getRegisters())) { in analyzeResourceUsage()
248 Info.NumVGPR = HighestVGPRReg == AMDGPU::NoRegister in analyzeResourceUsage()
251 Info.NumExplicitSGPR = HighestSGPRReg == AMDGPU::NoRegister in analyzeResourceUsage()
276 case AMDGPU::EXEC: in analyzeResourceUsage()
277 case AMDGPU::EXEC_LO: in analyzeResourceUsage()
278 case AMDGPU::EXEC_HI: in analyzeResourceUsage()
279 case AMDGPU::SCC: in analyzeResourceUsage()
280 case AMDGPU::M0: in analyzeResourceUsage()
281 case AMDGPU::M0_LO16: in analyzeResourceUsage()
282 case AMDGPU::M0_HI16: in analyzeResourceUsage()
283 case AMDGPU::SRC_SHARED_BASE_LO: in analyzeResourceUsage()
284 case AMDGPU::SRC_SHARED_BASE: in analyzeResourceUsage()
285 case AMDGPU::SRC_SHARED_LIMIT_LO: in analyzeResourceUsage()
286 case AMDGPU::SRC_SHARED_LIMIT: in analyzeResourceUsage()
287 case AMDGPU::SRC_PRIVATE_BASE_LO: in analyzeResourceUsage()
288 case AMDGPU::SRC_PRIVATE_BASE: in analyzeResourceUsage()
289 case AMDGPU::SRC_PRIVATE_LIMIT_LO: in analyzeResourceUsage()
290 case AMDGPU::SRC_PRIVATE_LIMIT: in analyzeResourceUsage()
291 case AMDGPU::SRC_POPS_EXITING_WAVE_ID: in analyzeResourceUsage()
292 case AMDGPU::SGPR_NULL: in analyzeResourceUsage()
293 case AMDGPU::SGPR_NULL64: in analyzeResourceUsage()
294 case AMDGPU::MODE: in analyzeResourceUsage()
297 case AMDGPU::NoRegister: in analyzeResourceUsage()
302 case AMDGPU::VCC: in analyzeResourceUsage()
303 case AMDGPU::VCC_LO: in analyzeResourceUsage()
304 case AMDGPU::VCC_HI: in analyzeResourceUsage()
305 case AMDGPU::VCC_LO_LO16: in analyzeResourceUsage()
306 case AMDGPU::VCC_LO_HI16: in analyzeResourceUsage()
307 case AMDGPU::VCC_HI_LO16: in analyzeResourceUsage()
308 case AMDGPU::VCC_HI_HI16: in analyzeResourceUsage()
312 case AMDGPU::FLAT_SCR: in analyzeResourceUsage()
313 case AMDGPU::FLAT_SCR_LO: in analyzeResourceUsage()
314 case AMDGPU::FLAT_SCR_HI: in analyzeResourceUsage()
317 case AMDGPU::XNACK_MASK: in analyzeResourceUsage()
318 case AMDGPU::XNACK_MASK_LO: in analyzeResourceUsage()
319 case AMDGPU::XNACK_MASK_HI: in analyzeResourceUsage()
322 case AMDGPU::LDS_DIRECT: in analyzeResourceUsage()
325 case AMDGPU::TBA: in analyzeResourceUsage()
326 case AMDGPU::TBA_LO: in analyzeResourceUsage()
327 case AMDGPU::TBA_HI: in analyzeResourceUsage()
328 case AMDGPU::TMA: in analyzeResourceUsage()
329 case AMDGPU::TMA_LO: in analyzeResourceUsage()
330 case AMDGPU::TMA_HI: in analyzeResourceUsage()
333 case AMDGPU::SRC_VCCZ: in analyzeResourceUsage()
336 case AMDGPU::SRC_EXECZ: in analyzeResourceUsage()
339 case AMDGPU::SRC_SCC: in analyzeResourceUsage()
346 if (AMDGPU::SGPR_32RegClass.contains(Reg) || in analyzeResourceUsage()
347 AMDGPU::SGPR_LO16RegClass.contains(Reg) || in analyzeResourceUsage()
348 AMDGPU::SGPR_HI16RegClass.contains(Reg)) { in analyzeResourceUsage()
351 } else if (AMDGPU::VGPR_32RegClass.contains(Reg) || in analyzeResourceUsage()
352 AMDGPU::VGPR_16RegClass.contains(Reg)) { in analyzeResourceUsage()
355 } else if (AMDGPU::AGPR_32RegClass.contains(Reg) || in analyzeResourceUsage()
356 AMDGPU::AGPR_LO16RegClass.contains(Reg)) { in analyzeResourceUsage()
360 } else if (AMDGPU::SGPR_64RegClass.contains(Reg)) { in analyzeResourceUsage()
363 } else if (AMDGPU::VReg_64RegClass.contains(Reg)) { in analyzeResourceUsage()
366 } else if (AMDGPU::AReg_64RegClass.contains(Reg)) { in analyzeResourceUsage()
370 } else if (AMDGPU::VReg_96RegClass.contains(Reg)) { in analyzeResourceUsage()
373 } else if (AMDGPU::SReg_96RegClass.contains(Reg)) { in analyzeResourceUsage()
376 } else if (AMDGPU::AReg_96RegClass.contains(Reg)) { in analyzeResourceUsage()
380 } else if (AMDGPU::SGPR_128RegClass.contains(Reg)) { in analyzeResourceUsage()
383 } else if (AMDGPU::VReg_128RegClass.contains(Reg)) { in analyzeResourceUsage()
386 } else if (AMDGPU::AReg_128RegClass.contains(Reg)) { in analyzeResourceUsage()
390 } else if (AMDGPU::VReg_160RegClass.contains(Reg)) { in analyzeResourceUsage()
393 } else if (AMDGPU::SReg_160RegClass.contains(Reg)) { in analyzeResourceUsage()
396 } else if (AMDGPU::AReg_160RegClass.contains(Reg)) { in analyzeResourceUsage()
400 } else if (AMDGPU::VReg_192RegClass.contains(Reg)) { in analyzeResourceUsage()
403 } else if (AMDGPU::SReg_192RegClass.contains(Reg)) { in analyzeResourceUsage()
406 } else if (AMDGPU::AReg_192RegClass.contains(Reg)) { in analyzeResourceUsage()
410 } else if (AMDGPU::VReg_224RegClass.contains(Reg)) { in analyzeResourceUsage()
413 } else if (AMDGPU::SReg_224RegClass.contains(Reg)) { in analyzeResourceUsage()
416 } else if (AMDGPU::AReg_224RegClass.contains(Reg)) { in analyzeResourceUsage()
420 } else if (AMDGPU::SReg_256RegClass.contains(Reg)) { in analyzeResourceUsage()
423 } else if (AMDGPU::VReg_256RegClass.contains(Reg)) { in analyzeResourceUsage()
426 } else if (AMDGPU::AReg_256RegClass.contains(Reg)) { in analyzeResourceUsage()
430 } else if (AMDGPU::VReg_288RegClass.contains(Reg)) { in analyzeResourceUsage()
433 } else if (AMDGPU::SReg_288RegClass.contains(Reg)) { in analyzeResourceUsage()
436 } else if (AMDGPU::AReg_288RegClass.contains(Reg)) { in analyzeResourceUsage()
440 } else if (AMDGPU::VReg_320RegClass.contains(Reg)) { in analyzeResourceUsage()
443 } else if (AMDGPU::SReg_320RegClass.contains(Reg)) { in analyzeResourceUsage()
446 } else if (AMDGPU::AReg_320RegClass.contains(Reg)) { in analyzeResourceUsage()
450 } else if (AMDGPU::VReg_352RegClass.contains(Reg)) { in analyzeResourceUsage()
453 } else if (AMDGPU::SReg_352RegClass.contains(Reg)) { in analyzeResourceUsage()
456 } else if (AMDGPU::AReg_352RegClass.contains(Reg)) { in analyzeResourceUsage()
460 } else if (AMDGPU::VReg_384RegClass.contains(Reg)) { in analyzeResourceUsage()
463 } else if (AMDGPU::SReg_384RegClass.contains(Reg)) { in analyzeResourceUsage()
466 } else if (AMDGPU::AReg_384RegClass.contains(Reg)) { in analyzeResourceUsage()
470 } else if (AMDGPU::SReg_512RegClass.contains(Reg)) { in analyzeResourceUsage()
473 } else if (AMDGPU::VReg_512RegClass.contains(Reg)) { in analyzeResourceUsage()
476 } else if (AMDGPU::AReg_512RegClass.contains(Reg)) { in analyzeResourceUsage()
480 } else if (AMDGPU::SReg_1024RegClass.contains(Reg)) { in analyzeResourceUsage()
483 } else if (AMDGPU::VReg_1024RegClass.contains(Reg)) { in analyzeResourceUsage()
486 } else if (AMDGPU::AReg_1024RegClass.contains(Reg)) { in analyzeResourceUsage()
493 assert((AMDGPU::TTMP_32RegClass.contains(Reg) || in analyzeResourceUsage()
494 AMDGPU::TTMP_64RegClass.contains(Reg) || in analyzeResourceUsage()
495 AMDGPU::TTMP_128RegClass.contains(Reg) || in analyzeResourceUsage()
496 AMDGPU::TTMP_256RegClass.contains(Reg) || in analyzeResourceUsage()
497 AMDGPU::TTMP_512RegClass.contains(Reg) || in analyzeResourceUsage()
517 TII->getNamedOperand(MI, AMDGPU::OpName::callee); in analyzeResourceUsage()
527 if (Callee && AMDGPU::isEntryFunctionCC(Callee->getCallingConv())) in analyzeResourceUsage()
597 if (!AMDGPU::isEntryFunctionCC(I.getFirst()->getCallingConv())) { in propagateIndirectCallRegisterUsage()