[llvm] AMDGPU: Avoid double attribute lookup for register count attributes (PR #127782)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 19 03:03:45 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/127782.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/GCNSubtarget.cpp (+6-7)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/GCNSubtarget.cpp b/llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
index b5e8e246825c7..55af5826e90d0 100644
--- a/llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+++ b/llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
@@ -422,10 +422,10 @@ unsigned GCNSubtarget::getBaseMaxNumSGPRs(
// Check if maximum number of SGPRs was explicitly requested using
// "amdgpu-num-sgpr" attribute.
- if (F.hasFnAttribute("amdgpu-num-sgpr")) {
- unsigned Requested =
- F.getFnAttributeAsParsedInteger("amdgpu-num-sgpr", MaxNumSGPRs);
+ unsigned Requested =
+ F.getFnAttributeAsParsedInteger("amdgpu-num-sgpr", MaxNumSGPRs);
+ if (Requested != MaxNumSGPRs) {
// Make sure requested value does not violate subtarget's specifications.
if (Requested && (Requested <= ReservedNumSGPRs))
Requested = 0;
@@ -504,10 +504,9 @@ unsigned GCNSubtarget::getBaseMaxNumVGPRs(
// Check if maximum number of VGPRs was explicitly requested using
// "amdgpu-num-vgpr" attribute.
- if (F.hasFnAttribute("amdgpu-num-vgpr")) {
- unsigned Requested =
- F.getFnAttributeAsParsedInteger("amdgpu-num-vgpr", MaxNumVGPRs);
-
+ unsigned Requested =
+ F.getFnAttributeAsParsedInteger("amdgpu-num-vgpr", MaxNumVGPRs);
+ if (Requested != MaxNumVGPRs) {
if (hasGFX90AInsts())
Requested *= 2;
``````````
</details>
https://github.com/llvm/llvm-project/pull/127782
More information about the llvm-commits
mailing list