blob: c43494a5b7e03ff95ac574bb725facc54c9c794c [file] [log] [blame]
Peter Collingbourne94baec62017-04-12 18:27:00 +00001; RUN: llvm-as -o %t %s
2; RUN: llvm-lto2 dump-symtab %t | FileCheck %s
3
Peter Collingbourne8446f1f2017-04-14 02:55:06 +00004; CHECK: target triple: i686-pc-windows-msvc18.0.0
Peter Collingbourne94baec62017-04-12 18:27:00 +00005target 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
Peter Collingbourne8446f1f2017-04-14 02:55:06 +000011; CHECK: linker opts: /include:foo
Peter Collingbourne89061b22017-06-12 20:10:48 +000012!0 = !{!"/include:foo"}
13!llvm.linker.options = !{ !0 }
Peter Collingbourne94baec62017-04-12 18:27:00 +000014
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000015; CHECK: D------X _fun
16define i32 @fun() {
17 ret i32 0
18}
19
Peter Collingbourne6c484622017-11-21 22:06:20 +000020; CHECK: D------X @fun2@8
21; CHECK-NEXT: comdat @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
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000029; CHECK: H------- _g1
Peter Collingbourne94baec62017-04-12 18:27:00 +000030@g1 = hidden global i32 0
31
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000032; CHECK: P------- _g2
Peter Collingbourne94baec62017-04-12 18:27:00 +000033@g2 = protected global i32 0
34
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000035; CHECK: D------- _g3
Peter Collingbourne94baec62017-04-12 18:27:00 +000036@g3 = global i32 0
37
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000038; CHECK: DU------ _g4
Peter Collingbourne94baec62017-04-12 18:27:00 +000039@g4 = external global i32
40
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000041; CHECK: D--W---- _g5
Peter Collingbourne94baec62017-04-12 18:27:00 +000042@g5 = weak global i32 0
43
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000044; CHECK: D--W-O-- _g6
Peter Collingbourne94baec62017-04-12 18:27:00 +000045@g6 = linkonce_odr unnamed_addr global i32 0
46
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000047; CHECK: D-----T- _g7
Peter Collingbourne94baec62017-04-12 18:27:00 +000048@g7 = thread_local global i32 0
49
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000050; CHECK: D-C----- _g8
Peter Collingbourne94baec62017-04-12 18:27:00 +000051; CHECK-NEXT: size 4 align 8
52@g8 = common global i32 0, align 8
53
Tobias Edler von Koch90df1f482017-04-13 16:24:14 +000054; CHECK: D------- _g9
Peter Collingbourne6c484622017-11-21 22:06:20 +000055; CHECK-NEXT: comdat _g9
Peter Collingbourne94baec62017-04-12 18:27:00 +000056$g9 = comdat any
57@g9 = global i32 0, comdat
58
Peter Collingbourne6c484622017-11-21 22:06:20 +000059; 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--WI--- _a1
68; CHECK-NEXT: comdat _g9
Peter Collingbourne94baec62017-04-12 18:27:00 +000069; CHECK-NEXT: fallback _g9
Peter Collingbourne6c484622017-11-21 22:06:20 +000070@a1 = weak alias i32, i32* @g9