xref: /llvm-project/llvm/test/LTO/Resolution/X86/symtab.ll (revision 15655915b38600c28f58721950ae75e6284763b6)
1; RUN: llvm-as -o %t %s
2; RUN: llvm-lto2 dump-symtab %t | FileCheck %s
3
4; CHECK: target triple: i686-pc-windows-msvc18.0.0
5target triple = "i686-pc-windows-msvc18.0.0"
6target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
7
8; CHECK: source filename: src.c
9source_filename = "src.c"
10
11; CHECK: linker opts: /include:foo
12!0 = !{!"/include:foo"}
13!llvm.linker.options = !{ !0 }
14
15; CHECK: D------X _fun
16define i32 @fun() {
17  ret i32 0
18}
19
20; CHECK: D------X @fun2@8
21; CHECK-NEXT: comdat any @fun2@8
22$fun2 = comdat any
23define x86_fastcallcc i32 @fun2(i32 inreg %a, i32 inreg %b) comdat {
24entry:
25  %add = add nsw i32 %b, %a
26  ret i32 %add
27}
28
29; CHECK: H------- _g1
30@g1 = hidden global i32 0
31
32; CHECK: P------- _g2
33@g2 = protected global i32 0
34
35; CHECK: D------- _g3
36@g3 = global i32 0
37
38; CHECK: DU------ _g4
39@g4 = external global i32
40
41; CHECK: D--W---- _g5
42@g5 = weak global i32 0
43
44; CHECK: D--W-O-- _g6
45@g6 = linkonce_odr unnamed_addr global i32 0
46
47; CHECK: D-----T- _g7
48@g7 = thread_local global i32 0
49
50; CHECK: D-C----- _g8
51; CHECK-NEXT: size 4 align 8
52@g8 = common global i32 0, align 8
53
54; CHECK: D------- _g9
55; CHECK-NEXT: comdat any _g9
56$g9 = comdat any
57@g9 = global i32 0, comdat
58
59; CHECK-NOT: _g10
60$g10 = comdat any
61@g10 = internal global i32 0, comdat
62
63; CHECK: D------- _g11
64; CHECK-NOT: comdat
65@g11 = global i32 0, comdat($g10)
66
67; CHECK: D------- _g12
68; CHECK-NEXT: comdat nodeduplicate _g12
69$g12 = comdat nodeduplicate
70@g12 = global i32 0, comdat
71
72; CHECK: D--WI--- _a1
73; CHECK-NEXT: comdat any _g9
74; CHECK-NEXT: fallback _g9
75@a1 = weak alias i32, ptr @g9
76