]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/lto/internalize-exportdyn.ll
Vendor import of lld trunk r290819:
[FreeBSD/FreeBSD.git] / test / ELF / lto / internalize-exportdyn.ll
1 ; REQUIRES: x86
2 ; RUN: llvm-as %s -o %t.o
3 ; RUN: llvm-as %p/Inputs/internalize-exportdyn.ll -o %t2.o
4 ; RUN: ld.lld -m elf_x86_64 %t.o %t2.o -o %t2 --export-dynamic -save-temps
5 ; RUN: llvm-dis < %t2.0.2.internalize.bc | FileCheck %s
6
7 target triple = "x86_64-unknown-linux-gnu"
8 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
9
10 define void @_start() {
11   ret void
12 }
13
14 define void @foo() {
15   ret void
16 }
17
18 define hidden void @bar() {
19   ret void
20 }
21
22 define linkonce_odr void @zed() local_unnamed_addr {
23   ret void
24 }
25
26 define linkonce_odr void @zed2() unnamed_addr {
27   ret void
28 }
29
30 define linkonce_odr void @bah() {
31   ret void
32 }
33
34 define linkonce_odr void @baz() {
35   ret void
36 }
37
38 @use_baz = global void ()* @baz
39
40 ; Check what gets internalized.
41 ; CHECK: define void @_start()
42 ; CHECK: define void @foo()
43 ; CHECK: define internal void @bar()
44 ; CHECK: define internal void @zed()
45 ; CHECK: define internal void @zed2()
46 ; CHECK: define weak_odr void @bah()
47 ; CHECK: define weak_odr void @baz()