[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / X86 / addrsig.ll
blob957de7ec2a64ceb94ca4994fb64ccb74e5d05ec6
1 ; RUN: llc < %s -mtriple=x86_64-unknown-linux | FileCheck --check-prefix=NO-ADDRSIG %s
2 ; RUN: llc < %s -mtriple=x86_64-unknown-linux -addrsig | FileCheck %s
4 ; NO-ADDRSIG-NOT: .addrsig
6 ; CHECK: .addrsig
8 ; CHECK: .addrsig_sym f1
9 define void @f1() {
10   %f1 = bitcast void()* @f1 to i8*
11   %f2 = bitcast void()* @f2 to i8*
12   %f3 = bitcast void()* @f3 to i8*
13   %g1 = bitcast i32* @g1 to i8*
14   %g2 = bitcast i32* @g2 to i8*
15   %g3 = bitcast i32* @g3 to i8*
16   %dllimport = bitcast i32* @dllimport to i8*
17   %tls = bitcast i32* @tls to i8*
18   %a1 = bitcast i32* @a1 to i8*
19   %a2 = bitcast i32* @a2 to i8*
20   %i1 = bitcast void()* @i1 to i8*
21   %i2 = bitcast void()* @i2 to i8*
22   call void @llvm.dbg.value(metadata i8* bitcast (void()* @metadata_f1 to i8*), metadata !5, metadata !DIExpression()), !dbg !7
23   call void @llvm.dbg.value(metadata i8* bitcast (void()* @metadata_f2 to i8*), metadata !5, metadata !DIExpression()), !dbg !7
24   call void @f4(i8* bitcast (void()* @metadata_f2 to i8*))
25   unreachable
28 declare void @f4(i8*) unnamed_addr
30 ; CHECK-NOT: .addrsig_sym metadata_f1
31 declare void @metadata_f1()
33 ; CHECK: .addrsig_sym metadata_f2
34 declare void @metadata_f2()
36 ; CHECK-NOT: .addrsig_sym f2
37 define internal void @f2() local_unnamed_addr {
38   unreachable
41 ; CHECK-NOT: .addrsig_sym f3
42 declare void @f3() unnamed_addr
44 ; CHECK: .addrsig_sym g1
45 @g1 = global i32 0
46 ; CHECK-NOT: .addrsig_sym g2
47 @g2 = internal local_unnamed_addr global i32 0
48 ; CHECK-NOT: .addrsig_sym g3
49 @g3 = external unnamed_addr global i32
51 ; CHECK-NOT: .addrsig_sym unref
52 @unref = external global i32
54 ; CHECK-NOT: .addrsig_sym dllimport
55 @dllimport = external dllimport global i32
57 ; CHECK-NOT: .addrsig_sym tls
58 @tls = thread_local global i32 0
60 ; CHECK: .addrsig_sym a1
61 @a1 = alias i32, i32* @g1
62 ; CHECK-NOT: .addrsig_sym a2
63 @a2 = internal local_unnamed_addr alias i32, i32* @g2
65 ; CHECK: .addrsig_sym i1
66 @i1 = ifunc void(), void()* @f1
67 ; CHECK-NOT: .addrsig_sym i2
68 @i2 = internal local_unnamed_addr ifunc void(), void()* @f2
70 declare void @llvm.dbg.value(metadata, metadata, metadata)
72 !llvm.dbg.cu = !{!0}
73 !llvm.module.flags = !{!2}
75 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, isOptimized: false, runtimeVersion: 0, emissionKind: NoDebug)
76 !1 = !DIFile(filename: "a", directory: "")
77 !2 = !{i32 2, !"Debug Info Version", i32 3}
78 !3 = distinct !DISubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false, unit: !0)
79 !4 = !DILocation(line: 0, scope: !3)
80 !5 = !DILocalVariable(scope: !6)
81 !6 = distinct !DISubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false, unit: !0)
82 !7 = !DILocation(line: 0, scope: !6, inlinedAt: !4)