[llvm] [CodeGen] Skip declaration in ModuleToMachineFunctionPassAdaptor (PR #84417)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 8 01:40:44 PST 2024
https://github.com/paperchalice updated https://github.com/llvm/llvm-project/pull/84417
>From 7375102871ba58cf023ced93b78e4c7dc40b83b8 Mon Sep 17 00:00:00 2001
From: PaperChalice <liujunchang97 at outlook.com>
Date: Fri, 8 Mar 2024 10:04:44 +0800
Subject: [PATCH 1/2] [CodeGen] Skip declaration in
ModuleToMachineFunctionPassAdaptor Like ModuleToFunctionPassAdaptor.
---
llvm/lib/CodeGen/MachinePassManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/MachinePassManager.cpp b/llvm/lib/CodeGen/MachinePassManager.cpp
index 9a750b5bed4339..96556d549a2548 100644
--- a/llvm/lib/CodeGen/MachinePassManager.cpp
+++ b/llvm/lib/CodeGen/MachinePassManager.cpp
@@ -79,7 +79,7 @@ ModuleToMachineFunctionPassAdaptor::run(Module &M, ModuleAnalysisManager &AM) {
for (Function &F : M) {
// Do not codegen any 'available_externally' functions at all, they have
// definitions outside the translation unit.
- if (F.hasAvailableExternallyLinkage())
+ if (F.hasAvailableExternallyLinkage() || F.isDeclaration())
continue;
MachineFunction &MF = MMI.getOrCreateMachineFunction(F);
>From 9827c47010b0510f4e0bdbd00a47409f2a81f43c Mon Sep 17 00:00:00 2001
From: paperchalice <liujunchang97 at outlook.com>
Date: Fri, 8 Mar 2024 17:40:37 +0800
Subject: [PATCH 2/2] Update llvm/lib/CodeGen/MachinePassManager.cpp
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
---
llvm/lib/CodeGen/MachinePassManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/MachinePassManager.cpp b/llvm/lib/CodeGen/MachinePassManager.cpp
index 96556d549a2548..2763193b2c306b 100644
--- a/llvm/lib/CodeGen/MachinePassManager.cpp
+++ b/llvm/lib/CodeGen/MachinePassManager.cpp
@@ -79,7 +79,7 @@ ModuleToMachineFunctionPassAdaptor::run(Module &M, ModuleAnalysisManager &AM) {
for (Function &F : M) {
// Do not codegen any 'available_externally' functions at all, they have
// definitions outside the translation unit.
- if (F.hasAvailableExternallyLinkage() || F.isDeclaration())
+ if (F.isDeclaration() || F.hasAvailableExternallyLinkage())
continue;
MachineFunction &MF = MMI.getOrCreateMachineFunction(F);
More information about the llvm-commits
mailing list