[llvm] [NFC][AMDGPU][Attributor] Only iterate over filtered functions when creating AAs (PR #108417)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 09:31:16 PDT 2024
https://github.com/shiltian created https://github.com/llvm/llvm-project/pull/108417
None
>From 807c5f8d5d2d4fc743fb372de247476329d53d34 Mon Sep 17 00:00:00 2001
From: Shilei Tian <i at tianshilei.me>
Date: Thu, 12 Sep 2024 12:30:27 -0400
Subject: [PATCH] [NFC][AMDGPU][Attributor] Only iterate over filtered
functions when creating AAs
---
llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
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)) {
More information about the llvm-commits
mailing list