[llvm] [NFC][ModuleUtils] Move externalize() from module splitting utilities (PR #221181)

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 14 08:02:04 PDT 2026


================
@@ -381,6 +381,18 @@ std::string llvm::getUniqueModuleId(Module *M) {
   return ("." + Str).str();
 }
 
+void llvm::externalizeGlobal(GlobalValue &GV) {
+  if (GV.hasLocalLinkage()) {
+    GV.setLinkage(GlobalValue::ExternalLinkage);
+    GV.setVisibility(GlobalValue::HiddenVisibility);
+  }
+
+  // Unnamed entities must be named consistently between modules. setName will
+  // give a distinct name to each such entity.
+  if (!GV.hasName())
+    GV.setName("__llvmsplit_unnamed");
----------------
teresajohnson wrote:

If this is split out into a separate helper on the GV maybe just __llvm_unnamed ?

https://github.com/llvm/llvm-project/pull/221181


More information about the llvm-commits mailing list