diff options
| author | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-27 00:32:02 +0000 |
|---|---|---|
| committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-27 00:32:02 +0000 |
| commit | da168fbc2e71c9ab77ce88f5fb1422bbf9ed5b4e (patch) | |
| tree | c074bc6397d22b3ab90cfb8589b6618ad3bce1f6 /llvm/test/tools | |
| parent | 61399ac424373662b72515e1c47b799c8204536f (diff) | |
| download | bcm5719-llvm-da168fbc2e71c9ab77ce88f5fb1422bbf9ed5b4e.tar.gz bcm5719-llvm-da168fbc2e71c9ab77ce88f5fb1422bbf9ed5b4e.zip | |
LTOCodeGenerator: turns linkonce(_odr) into weak_(odr) when present "MustPreserve" set
Summary:
If the linker requested to preserve a linkonce function, we should
honor this even if we drop all uses.
Reviewers: dexonsmith
Subscribers: llvm-commits, joker.eph
Differential Revision: http://reviews.llvm.org/D19527
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 267644
Diffstat (limited to 'llvm/test/tools')
| -rw-r--r-- | llvm/test/tools/lto/hide-linkonce-odr.ll | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/test/tools/lto/hide-linkonce-odr.ll b/llvm/test/tools/lto/hide-linkonce-odr.ll index a1de96e8b33..a2b0c6eb930 100644 --- a/llvm/test/tools/lto/hide-linkonce-odr.ll +++ b/llvm/test/tools/lto/hide-linkonce-odr.ll @@ -1,9 +1,11 @@ ; RUN: llvm-as %s -o %t.o -; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macosx_version_min 10.10.0 -lSystem -o %t.dylib %t.o -save-temps -undefined dynamic_lookup +; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macosx_version_min 10.10.0 -lSystem -o %t.dylib %t.o -save-temps -undefined dynamic_lookup -exported_symbol _c -exported_symbol _b ; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=IR %s -; check that @a is still a linkonce_odr definition -; IR: define linkonce_odr void @a() +; check that @a is no longer a linkonce_odr definition +; IR-NOT: define linkonce_odr void @a() +; check that @b is turned into weak because it is exported +; IR: define weak_odr void @b() #1 { ; RUN: llvm-nm %t.dylib | FileCheck --check-prefix=NM %s ; check that the linker can hide @a but not @b |

