diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-01-11 22:15:05 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-01-11 22:15:05 +0000 |
| commit | e4b0231c63d40408d06ff4c3669ded4b4ecaaa85 (patch) | |
| tree | 9e89f032c39da53ab74bd3d38a87264e2b5ceaa4 /llvm/lib/Transforms/IPO | |
| parent | e97654b2f28072ad9123006c05e03efd82852982 (diff) | |
| download | bcm5719-llvm-e4b0231c63d40408d06ff4c3669ded4b4ecaaa85.tar.gz bcm5719-llvm-e4b0231c63d40408d06ff4c3669ded4b4ecaaa85.zip | |
Make internal/private GVs implicitly dso_local.
While updating clang tests for having clang set dso_local I noticed
that:
- There are *a lot* of tests to update.
- Many of the updates are redundant.
They are redundant because a GV is "obviously dso_local". This patch
starts formalizing that a bit by requiring that internal and private
GVs be dso_local too. Since they all are, we don't have to print
dso_local to the textual representation, making it a bit more compact
and easier to read.
llvm-svn: 322317
Diffstat (limited to 'llvm/lib/Transforms/IPO')
| -rw-r--r-- | llvm/lib/Transforms/IPO/GlobalOpt.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp index 4bb2984e3b4..65dcd281009 100644 --- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp +++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp @@ -2486,6 +2486,7 @@ OptimizeGlobalAliases(Module &M, // Give the aliasee the name, linkage and other attributes of the alias. Target->takeName(&*J); Target->setLinkage(J->getLinkage()); + Target->setDSOLocal(J->isDSOLocal()); Target->setVisibility(J->getVisibility()); Target->setDLLStorageClass(J->getDLLStorageClass()); |

