diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-10-30 22:08:11 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-10-30 22:08:11 +0000 |
commit | 2cc546db188d5e4d4537681cab3d52781125518c (patch) | |
tree | 82d4b69f91bc14eebc0663452c579b100a270633 /include/llvm/CodeGen/AsmPrinter.h | |
parent | 1d36113c05e611c0fba9b872b5f03eca9848bd69 (diff) | |
download | external_llvm-2cc546db188d5e4d4537681cab3d52781125518c.zip external_llvm-2cc546db188d5e4d4537681cab3d52781125518c.tar.gz external_llvm-2cc546db188d5e4d4537681cab3d52781125518c.tar.bz2 |
Produce .weak_def_can_be_hidden for some linkonce_odr values
With this patch llvm produces a weak_def_can_be_hidden for linkonce_odr
if they are also unnamed_addr or don't have their address taken.
There is not a lot of documentation about .weak_def_can_be_hidden, but
from the old discussion about linkonce_odr_auto_hide and the name of
the directive this looks correct: these symbols can be hidden.
Testing this with the ld64 in Xcode 5 linking clang reduces the number of
exported symbols from 21053 to 19049.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193718 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/AsmPrinter.h')
-rw-r--r-- | include/llvm/CodeGen/AsmPrinter.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index d66665c..4bda0f1 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -486,7 +486,7 @@ namespace llvm { void EmitVisibility(MCSymbol *Sym, unsigned Visibility, bool IsDefinition = true) const; - void EmitLinkage(unsigned Linkage, MCSymbol *GVSym) const; + void EmitLinkage(const GlobalValue *GV, MCSymbol *GVSym) const; void EmitJumpTableEntry(const MachineJumpTableInfo *MJTI, const MachineBasicBlock *MBB, unsigned uid) const; |