blob: 0d79aef05c6cbf10954fc4e4e331d10733d98de6 [file] [log] [blame]
Devang Pateldc9cbaa2011-08-03 01:25:46 +00001; RUN: llc < %s | FileCheck %s
2
3; Check debug info output for merged global.
4; DW_AT_location
5; DW_OP_addr
6; DW_OP_plus
7; .long __MergedGlobals
8; DW_OP_constu
9; offset
10
David Blaikiee5a2f702013-03-08 00:23:31 +000011;CHECK: .long Lset8
Devang Pateldc9cbaa2011-08-03 01:25:46 +000012;CHECK-NEXT: @ DW_AT_type
13;CHECK-NEXT: @ DW_AT_decl_file
14;CHECK-NEXT: @ DW_AT_decl_line
15;CHECK-NEXT: @ DW_AT_location
16;CHECK-NEXT: .byte 3
17;CHECK-NEXT: .long __MergedGlobals
18;CHECK-NEXT: .byte 16
19; 4 is byte offset of x2 in __MergedGobals
20;CHECK-NEXT: .byte 4
21;CHECK-NEXT: .byte 34
22
23
24target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
25target triple = "thumbv7-apple-macosx10.7.0"
26
27@x1 = internal unnamed_addr global i32 1, align 4
28@x2 = internal unnamed_addr global i32 2, align 4
29@x3 = internal unnamed_addr global i32 3, align 4
30@x4 = internal unnamed_addr global i32 4, align 4
31@x5 = global i32 0, align 4
32
33define i32 @get1(i32 %a) nounwind optsize ssp {
34 tail call void @llvm.dbg.value(metadata !{i32 %a}, i64 0, metadata !10), !dbg !30
35 %1 = load i32* @x1, align 4, !dbg !31
36 tail call void @llvm.dbg.value(metadata !{i32 %1}, i64 0, metadata !11), !dbg !31
37 store i32 %a, i32* @x1, align 4, !dbg !31
38 ret i32 %1, !dbg !31
39}
40
41define i32 @get2(i32 %a) nounwind optsize ssp {
42 tail call void @llvm.dbg.value(metadata !{i32 %a}, i64 0, metadata !13), !dbg !32
43 %1 = load i32* @x2, align 4, !dbg !33
44 tail call void @llvm.dbg.value(metadata !{i32 %1}, i64 0, metadata !14), !dbg !33
45 store i32 %a, i32* @x2, align 4, !dbg !33
46 ret i32 %1, !dbg !33
47}
48
49define i32 @get3(i32 %a) nounwind optsize ssp {
50 tail call void @llvm.dbg.value(metadata !{i32 %a}, i64 0, metadata !16), !dbg !34
51 %1 = load i32* @x3, align 4, !dbg !35
52 tail call void @llvm.dbg.value(metadata !{i32 %1}, i64 0, metadata !17), !dbg !35
53 store i32 %a, i32* @x3, align 4, !dbg !35
54 ret i32 %1, !dbg !35
55}
56
57define i32 @get4(i32 %a) nounwind optsize ssp {
58 tail call void @llvm.dbg.value(metadata !{i32 %a}, i64 0, metadata !19), !dbg !36
59 %1 = load i32* @x4, align 4, !dbg !37
60 tail call void @llvm.dbg.value(metadata !{i32 %1}, i64 0, metadata !20), !dbg !37
61 store i32 %a, i32* @x4, align 4, !dbg !37
62 ret i32 %1, !dbg !37
63}
64
65define i32 @get5(i32 %a) nounwind optsize ssp {
66 tail call void @llvm.dbg.value(metadata !{i32 %a}, i64 0, metadata !27), !dbg !38
67 %1 = load i32* @x5, align 4, !dbg !39
68 tail call void @llvm.dbg.value(metadata !{i32 %1}, i64 0, metadata !28), !dbg !39
69 store i32 %a, i32* @x5, align 4, !dbg !39
70 ret i32 %1, !dbg !39
71}
72
73declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
74
75!llvm.dbg.cu = !{!0}
David Blaikiee5a2f702013-03-08 00:23:31 +000076!40 = metadata !{metadata !1, metadata !6, metadata !7, metadata !8, metadata !9}
77!42 = metadata !{metadata !10, metadata !11}
78!43 = metadata !{metadata !13, metadata !14}
79!44 = metadata !{metadata !16, metadata !17}
80!45 = metadata !{metadata !19, metadata !20}
81!46 = metadata !{metadata !27, metadata !28}
82!41 = metadata !{metadata !22, metadata !23, metadata !24, metadata !25, metadata !26}
Devang Pateldc9cbaa2011-08-03 01:25:46 +000083
David Blaikie1ca2f362013-03-13 00:01:35 +000084!0 = metadata !{i32 786449, i32 0, i32 12, metadata !2, metadata !"clang", i1 true, metadata !"", i32 0, null, null, metadata !40, metadata !41, null} ; [ DW_TAG_compile_unit ]
David Blaikiee5a2f702013-03-08 00:23:31 +000085!1 = metadata !{i32 786478, i32 0, metadata !2, metadata !"get1", metadata !"get1", metadata !"", metadata !2, i32 5, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 (i32)* @get1, null, null, metadata !42, i32 5} ; [ DW_TAG_subprogram ]
86!2 = metadata !{i32 786473, metadata !"ss3.c", metadata !"/private/tmp", metadata !0} ; [ DW_TAG_file_type ]
87!3 = metadata !{i32 786453, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !4, i32 0, i32 0} ; [ DW_TAG_subroutine_type ]
Devang Pateldc9cbaa2011-08-03 01:25:46 +000088!4 = metadata !{metadata !5}
David Blaikiee5a2f702013-03-08 00:23:31 +000089!5 = metadata !{i32 786468, metadata !0, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
90!6 = metadata !{i32 786478, i32 0, metadata !2, metadata !"get2", metadata !"get2", metadata !"", metadata !2, i32 8, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 (i32)* @get2, null, null, metadata !43, i32 8} ; [ DW_TAG_subprogram ]
91!7 = metadata !{i32 786478, i32 0, metadata !2, metadata !"get3", metadata !"get3", metadata !"", metadata !2, i32 11, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 (i32)* @get3, null, null, metadata !44, i32 11} ; [ DW_TAG_subprogram ]
92!8 = metadata !{i32 786478, i32 0, metadata !2, metadata !"get4", metadata !"get4", metadata !"", metadata !2, i32 14, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 (i32)* @get4, null, null, metadata !45, i32 14} ; [ DW_TAG_subprogram ]
93!9 = metadata !{i32 786478, i32 0, metadata !2, metadata !"get5", metadata !"get5", metadata !"", metadata !2, i32 17, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 (i32)* @get5, null, null, metadata !46, i32 17} ; [ DW_TAG_subprogram ]
94!10 = metadata !{i32 786689, metadata !1, metadata !"a", metadata !2, i32 16777221, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
95!11 = metadata !{i32 786688, metadata !12, metadata !"b", metadata !2, i32 5, metadata !5, i32 0, null} ; [ DW_TAG_auto_variable ]
96!12 = metadata !{i32 786443, metadata !1, i32 5, i32 19, metadata !2, i32 0} ; [ DW_TAG_lexical_block ]
97!13 = metadata !{i32 786689, metadata !6, metadata !"a", metadata !2, i32 16777224, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
98!14 = metadata !{i32 786688, metadata !15, metadata !"b", metadata !2, i32 8, metadata !5, i32 0, null} ; [ DW_TAG_auto_variable ]
99!15 = metadata !{i32 786443, metadata !6, i32 8, i32 17, metadata !2, i32 1} ; [ DW_TAG_lexical_block ]
100!16 = metadata !{i32 786689, metadata !7, metadata !"a", metadata !2, i32 16777227, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
101!17 = metadata !{i32 786688, metadata !18, metadata !"b", metadata !2, i32 11, metadata !5, i32 0, null} ; [ DW_TAG_auto_variable ]
102!18 = metadata !{i32 786443, metadata !7, i32 11, i32 19, metadata !2, i32 2} ; [ DW_TAG_lexical_block ]
103!19 = metadata !{i32 786689, metadata !8, metadata !"a", metadata !2, i32 16777230, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
104!20 = metadata !{i32 786688, metadata !21, metadata !"b", metadata !2, i32 14, metadata !5, i32 0, null} ; [ DW_TAG_auto_variable ]
105!21 = metadata !{i32 786443, metadata !8, i32 14, i32 19, metadata !2, i32 3} ; [ DW_TAG_lexical_block ]
David Blaikie47922fb2013-03-11 22:37:40 +0000106!22 = metadata !{i32 786484, i32 0, metadata !0, metadata !"x5", metadata !"x5", metadata !"", metadata !2, i32 16, metadata !5, i32 0, i32 1, i32* @x5, null} ; [ DW_TAG_variable ]
107!23 = metadata !{i32 786484, i32 0, metadata !0, metadata !"x4", metadata !"x4", metadata !"", metadata !2, i32 13, metadata !5, i32 1, i32 1, i32* @x4, null} ; [ DW_TAG_variable ]
108!24 = metadata !{i32 786484, i32 0, metadata !0, metadata !"x3", metadata !"x3", metadata !"", metadata !2, i32 10, metadata !5, i32 1, i32 1, i32* @x3, null} ; [ DW_TAG_variable ]
109!25 = metadata !{i32 786484, i32 0, metadata !0, metadata !"x2", metadata !"x2", metadata !"", metadata !2, i32 7, metadata !5, i32 1, i32 1, i32* @x2, null} ; [ DW_TAG_variable ]
110!26 = metadata !{i32 786484, i32 0, metadata !0, metadata !"x1", metadata !"x1", metadata !"", metadata !2, i32 4, metadata !5, i32 1, i32 1, i32* @x1, null} ; [ DW_TAG_variable ]
David Blaikiee5a2f702013-03-08 00:23:31 +0000111!27 = metadata !{i32 786689, metadata !9, metadata !"a", metadata !2, i32 16777233, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
112!28 = metadata !{i32 786688, metadata !29, metadata !"b", metadata !2, i32 17, metadata !5, i32 0, null} ; [ DW_TAG_auto_variable ]
113!29 = metadata !{i32 786443, metadata !9, i32 17, i32 19, metadata !2, i32 4} ; [ DW_TAG_lexical_block ]
Devang Pateldc9cbaa2011-08-03 01:25:46 +0000114!30 = metadata !{i32 5, i32 16, metadata !1, null}
115!31 = metadata !{i32 5, i32 32, metadata !12, null}
116!32 = metadata !{i32 8, i32 14, metadata !6, null}
117!33 = metadata !{i32 8, i32 29, metadata !15, null}
118!34 = metadata !{i32 11, i32 16, metadata !7, null}
119!35 = metadata !{i32 11, i32 32, metadata !18, null}
120!36 = metadata !{i32 14, i32 16, metadata !8, null}
121!37 = metadata !{i32 14, i32 32, metadata !21, null}
122!38 = metadata !{i32 17, i32 16, metadata !9, null}
123!39 = metadata !{i32 17, i32 32, metadata !29, null}