From a0706a9ff4469b137ed6eea3f484a0152bab4c88 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 25 Jun 2012 14:30:31 +0000 Subject: If a constant or a function has linkonce_odr linkage and unnamed_addr, mark it hidden. Being linkonce_odr guarantees that it is available in every dso that needs it. Being a constant/function with unnamed_addr guarantees that the copies don't have to be merged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159136 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/GlobalValue.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/llvm/GlobalValue.h') diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h index 8b969f3354..3b83b5a05c 100644 --- a/include/llvm/GlobalValue.h +++ b/include/llvm/GlobalValue.h @@ -122,6 +122,9 @@ public: static bool isAvailableExternallyLinkage(LinkageTypes Linkage) { return Linkage == AvailableExternallyLinkage; } + static bool isLinkOnceODRLinkage(LinkageTypes Linkage) { + return Linkage == LinkOnceODRLinkage; + } static bool isLinkOnceLinkage(LinkageTypes Linkage) { return Linkage == LinkOnceAnyLinkage || Linkage == LinkOnceODRLinkage; } @@ -202,6 +205,9 @@ public: bool hasAvailableExternallyLinkage() const { return isAvailableExternallyLinkage(Linkage); } + bool hasLinkOnceODRLinkage() const { + return isLinkOnceODRLinkage(Linkage); + } bool hasLinkOnceLinkage() const { return isLinkOnceLinkage(Linkage); } -- cgit v1.2.3