Skip to content

Commit 0f472e9

Browse files
authored
AMDGPU: Avoid double attribute lookup for register count attributes (llvm#127782)
1 parent c0a763d commit 0f472e9

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

llvm/lib/Target/AMDGPU/GCNSubtarget.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -422,10 +422,10 @@ unsigned GCNSubtarget::getBaseMaxNumSGPRs(
422422

423423
// Check if maximum number of SGPRs was explicitly requested using
424424
// "amdgpu-num-sgpr" attribute.
425-
if (F.hasFnAttribute("amdgpu-num-sgpr")) {
426-
unsigned Requested =
427-
F.getFnAttributeAsParsedInteger("amdgpu-num-sgpr", MaxNumSGPRs);
425+
unsigned Requested =
426+
F.getFnAttributeAsParsedInteger("amdgpu-num-sgpr", MaxNumSGPRs);
428427

428+
if (Requested != MaxNumSGPRs) {
429429
// Make sure requested value does not violate subtarget's specifications.
430430
if (Requested && (Requested <= ReservedNumSGPRs))
431431
Requested = 0;
@@ -504,10 +504,9 @@ unsigned GCNSubtarget::getBaseMaxNumVGPRs(
504504

505505
// Check if maximum number of VGPRs was explicitly requested using
506506
// "amdgpu-num-vgpr" attribute.
507-
if (F.hasFnAttribute("amdgpu-num-vgpr")) {
508-
unsigned Requested =
509-
F.getFnAttributeAsParsedInteger("amdgpu-num-vgpr", MaxNumVGPRs);
510-
507+
unsigned Requested =
508+
F.getFnAttributeAsParsedInteger("amdgpu-num-vgpr", MaxNumVGPRs);
509+
if (Requested != MaxNumVGPRs) {
511510
if (hasGFX90AInsts())
512511
Requested *= 2;
513512

0 commit comments

Comments
 (0)