[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