[llvm] [DirectX] Convert private global variables to internal linkage during Finalize Linkage pass (PR #146406)
Farzon Lotfi via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 7 06:10:44 PDT 2025
================
@@ -18,6 +18,16 @@
using namespace llvm;
static bool finalizeLinkage(Module &M) {
+ bool MadeChange = false;
+
+ // Convert private global variables to internal linkage.
+ for (GlobalVariable &GV : M.globals()) {
+ if (GV.hasPrivateLinkage()) {
+ GV.setLinkage(GlobalValue::InternalLinkage);
+ MadeChange = true;
+ }
----------------
farzonl wrote:
Thats the solution we worked for this ticket https://github.com/llvm/llvm-project/issues/139023. My understanding was though we didn't want to blanket do this because of external linkage. so, I suppose we could do something like
```cpp
if(GV.use_empty() && !GV.hasExtenalLinkage())
ToErase.push_back(&G);
```
https://github.com/llvm/llvm-project/pull/146406
More information about the llvm-commits
mailing list