[llvm] [NFC][AMDGPU][Attributor] Only iterate over filtered functions when creating AAs (PR #108417)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 09:31:59 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Shilei Tian (shiltian)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/108417.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp (+8-11)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
index ffeec31bb930ab..687a7339da379d 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
@@ -1065,19 +1065,16 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM,
Attributor A(Functions, InfoCache, AC);
- for (Function &F : M) {
- if (F.isIntrinsic())
- continue;
-
- A.getOrCreateAAFor<AAAMDAttributes>(IRPosition::function(F));
- A.getOrCreateAAFor<AAUniformWorkGroupSize>(IRPosition::function(F));
- A.getOrCreateAAFor<AAAMDGPUNoAGPR>(IRPosition::function(F));
- CallingConv::ID CC = F.getCallingConv();
+ for (auto *F : Functions) {
+ A.getOrCreateAAFor<AAAMDAttributes>(IRPosition::function(*F));
+ A.getOrCreateAAFor<AAUniformWorkGroupSize>(IRPosition::function(*F));
+ A.getOrCreateAAFor<AAAMDGPUNoAGPR>(IRPosition::function(*F));
+ CallingConv::ID CC = F->getCallingConv();
if (!AMDGPU::isEntryFunctionCC(CC)) {
- A.getOrCreateAAFor<AAAMDFlatWorkGroupSize>(IRPosition::function(F));
- A.getOrCreateAAFor<AAAMDWavesPerEU>(IRPosition::function(F));
+ A.getOrCreateAAFor<AAAMDFlatWorkGroupSize>(IRPosition::function(*F));
+ A.getOrCreateAAFor<AAAMDWavesPerEU>(IRPosition::function(*F));
} else if (CC == CallingConv::AMDGPU_KERNEL) {
- addPreloadKernArgHint(F, TM);
+ addPreloadKernArgHint(*F, TM);
}
for (auto &I : instructions(F)) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/108417
More information about the llvm-commits
mailing list