llvm.org GIT mirror llvm / 3fe3424
Move arch specific tests in arch specific directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126401 91177308-0d34-0410-b5e6-96231b3b80d8 Devang Patel 9 years ago
12 changed file(s) with 630 addition(s) and 476 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: llc %s -O0 -o /dev/null -mtriple=arm-apple-darwin
1 ; PR 5197
2 ; There is not any llvm instruction assocated with !5. The code generator
3 ; should be able to handle this.
4
5 define void @bar() nounwind ssp {
6 entry:
7 %count_ = alloca i32, align 4 ; [#uses=2]
8 br label %do.body, !dbg !0
9
10 do.body: ; preds = %entry
11 call void @llvm.dbg.declare(metadata !{i32* %count_}, metadata !4)
12 %conv = ptrtoint i32* %count_ to i32, !dbg !0 ; [#uses=1]
13 %call = call i32 @foo(i32 %conv) ssp, !dbg !0 ; [#uses=0]
14 br label %do.end, !dbg !0
15
16 do.end: ; preds = %do.body
17 ret void, !dbg !7
18 }
19
20 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
21
22 declare i32 @foo(i32) ssp
23
24 !0 = metadata !{i32 5, i32 2, metadata !1, null}
25 !1 = metadata !{i32 458763, metadata !2}; [DW_TAG_lexical_block ]
26 !2 = metadata !{i32 458798, i32 0, metadata !3, metadata !"bar", metadata !"bar", metadata !"bar", metadata !3, i32 4, null, i1 false, i1 true}; [DW_TAG_subprogram ]
27 !3 = metadata !{i32 458769, i32 0, i32 12, metadata !"genmodes.i", metadata !"/Users/yash/Downloads", metadata !"clang 1.1", i1 true, i1 false, metadata !"", i32 0}; [DW_TAG_compile_unit ]
28 !4 = metadata !{i32 459008, metadata !5, metadata !"count_", metadata !3, i32 5, metadata !6}; [ DW_TAG_auto_variable ]
29 !5 = metadata !{i32 458763, metadata !1}; [DW_TAG_lexical_block ]
30 !6 = metadata !{i32 458788, metadata !3, metadata !"int", metadata !3, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
31 !7 = metadata !{i32 6, i32 1, metadata !2, null}
0 ; RUN: llc -O0 -mtriple=arm-apple-darwin < %s | grep DW_OP_fbreg
1 ; Use DW_OP_fbreg in variable's location expression if the variable is in a stack slot.
2
3 %struct.SVal = type { i8*, i32 }
4
5 define i32 @_Z3fooi4SVal(i32 %i, %struct.SVal* noalias %location) nounwind ssp {
6 entry:
7 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
8 call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !23), !dbg !24
9 call void @llvm.dbg.value(metadata !{%struct.SVal* %location}, i64 0, metadata !25), !dbg !24
10 %0 = icmp ne i32 %i, 0, !dbg !27 ; [#uses=1]
11 br i1 %0, label %bb, label %bb1, !dbg !27
12
13 bb: ; preds = %entry
14 %1 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !29 ; [#uses=1]
15 %2 = load i32* %1, align 8, !dbg !29 ; [#uses=1]
16 %3 = add i32 %2, %i, !dbg !29 ; [#uses=1]
17 br label %bb2, !dbg !29
18
19 bb1: ; preds = %entry
20 %4 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !30 ; [#uses=1]
21 %5 = load i32* %4, align 8, !dbg !30 ; [#uses=1]
22 %6 = sub i32 %5, 1, !dbg !30 ; [#uses=1]
23 br label %bb2, !dbg !30
24
25 bb2: ; preds = %bb1, %bb
26 %.0 = phi i32 [ %3, %bb ], [ %6, %bb1 ] ; [#uses=1]
27 br label %return, !dbg !29
28
29 return: ; preds = %bb2
30 ret i32 %.0, !dbg !29
31 }
32
33 define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 {
34 entry:
35 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
36 call void @llvm.dbg.value(metadata !{%struct.SVal* %this}, i64 0, metadata !31), !dbg !34
37 %0 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 0, !dbg !34 ; [#uses=1]
38 store i8* null, i8** %0, align 8, !dbg !34
39 %1 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 1, !dbg !34 ; [#uses=1]
40 store i32 0, i32* %1, align 8, !dbg !34
41 br label %return, !dbg !34
42
43 return: ; preds = %entry
44 ret void, !dbg !35
45 }
46
47 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
48
49 define i32 @main() nounwind ssp {
50 entry:
51 %0 = alloca %struct.SVal ; <%struct.SVal*> [#uses=3]
52 %v = alloca %struct.SVal ; <%struct.SVal*> [#uses=4]
53 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
54 call void @llvm.dbg.declare(metadata !{%struct.SVal* %v}, metadata !38), !dbg !41
55 call void @_ZN4SValC1Ev(%struct.SVal* %v) nounwind, !dbg !41
56 %1 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !42 ; [#uses=1]
57 store i32 1, i32* %1, align 8, !dbg !42
58 %2 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 0, !dbg !43 ; [#uses=1]
59 %3 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 0, !dbg !43 ; [#uses=1]
60 %4 = load i8** %3, align 8, !dbg !43 ; [#uses=1]
61 store i8* %4, i8** %2, align 8, !dbg !43
62 %5 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 1, !dbg !43 ; [#uses=1]
63 %6 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !43 ; [#uses=1]
64 %7 = load i32* %6, align 8, !dbg !43 ; [#uses=1]
65 store i32 %7, i32* %5, align 8, !dbg !43
66 %8 = call i32 @_Z3fooi4SVal(i32 2, %struct.SVal* noalias %0) nounwind, !dbg !43 ; [#uses=0]
67 call void @llvm.dbg.value(metadata !{i32 %8}, i64 0, metadata !44), !dbg !43
68 br label %return, !dbg !45
69
70 return: ; preds = %entry
71 ret i32 0, !dbg !45
72 }
73
74 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
75
76 !llvm.dbg.sp = !{!0, !9, !16, !17, !20}
77
78 !0 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"", metadata !2, i32 11, metadata !14, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
79 !1 = metadata !{i32 524307, metadata !2, metadata !"SVal", metadata !2, i32 1, i64 128, i64 64, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_structure_type ]
80 !2 = metadata !{i32 524329, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !3} ; [ DW_TAG_file_type ]
81 !3 = metadata !{i32 524305, i32 0, i32 4, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, i1 false, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
82 !4 = metadata !{metadata !5, metadata !7, metadata !0, metadata !9}
83 !5 = metadata !{i32 524301, metadata !1, metadata !"Data", metadata !2, i32 7, i64 64, i64 64, i64 0, i32 0, metadata !6} ; [ DW_TAG_member ]
84 !6 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ]
85 !7 = metadata !{i32 524301, metadata !1, metadata !"Kind", metadata !2, i32 8, i64 32, i64 32, i64 64, i32 0, metadata !8} ; [ DW_TAG_member ]
86 !8 = metadata !{i32 524324, metadata !2, metadata !"unsigned int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
87 !9 = metadata !{i32 524334, i32 0, metadata !1, metadata !"~SVal", metadata !"~SVal", metadata !"", metadata !2, i32 12, metadata !10, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
88 !10 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !11, i32 0, null} ; [ DW_TAG_subroutine_type ]
89 !11 = metadata !{null, metadata !12, metadata !13}
90 !12 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !1} ; [ DW_TAG_pointer_type ]
91 !13 = metadata !{i32 524324, metadata !2, metadata !"int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
92 !14 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !15, i32 0, null} ; [ DW_TAG_subroutine_type ]
93 !15 = metadata !{null, metadata !12}
94 !16 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"_ZN4SValC1Ev", metadata !2, i32 11, metadata !14, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, void (%struct.SVal*)* @_ZN4SValC1Ev} ; [ DW_TAG_subprogram ]
95 !17 = metadata !{i32 524334, i32 0, metadata !2, metadata !"foo", metadata !"foo", metadata !"_Z3fooi4SVal", metadata !2, i32 16, metadata !18, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 (i32, %struct.SVal*)* @_Z3fooi4SVal} ; [ DW_TAG_subprogram ]
96 !18 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !19, i32 0, null} ; [ DW_TAG_subroutine_type ]
97 !19 = metadata !{metadata !13, metadata !13, metadata !1}
98 !20 = metadata !{i32 524334, i32 0, metadata !2, metadata !"main", metadata !"main", metadata !"main", metadata !2, i32 23, metadata !21, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 ()* @main} ; [ DW_TAG_subprogram ]
99 !21 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !22, i32 0, null} ; [ DW_TAG_subroutine_type ]
100 !22 = metadata !{metadata !13}
101 !23 = metadata !{i32 524545, metadata !17, metadata !"i", metadata !2, i32 16, metadata !13} ; [ DW_TAG_arg_variable ]
102 !24 = metadata !{i32 16, i32 0, metadata !17, null}
103 !25 = metadata !{i32 524545, metadata !17, metadata !"location", metadata !2, i32 16, metadata !26} ; [ DW_TAG_arg_variable ]
104 !26 = metadata !{i32 524304, metadata !2, metadata !"SVal", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_reference_type ]
105 !27 = metadata !{i32 17, i32 0, metadata !28, null}
106 !28 = metadata !{i32 524299, metadata !17, i32 16, i32 0, metadata !2, i32 2} ; [ DW_TAG_lexical_block ]
107 !29 = metadata !{i32 18, i32 0, metadata !28, null}
108 !30 = metadata !{i32 20, i32 0, metadata !28, null}
109 !31 = metadata !{i32 524545, metadata !16, metadata !"this", metadata !2, i32 11, metadata !32} ; [ DW_TAG_arg_variable ]
110 !32 = metadata !{i32 524326, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !33} ; [ DW_TAG_const_type ]
111 !33 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_pointer_type ]
112 !34 = metadata !{i32 11, i32 0, metadata !16, null}
113 !35 = metadata !{i32 11, i32 0, metadata !36, null}
114 !36 = metadata !{i32 524299, metadata !37, i32 11, i32 0, metadata !2, i32 1} ; [ DW_TAG_lexical_block ]
115 !37 = metadata !{i32 524299, metadata !16, i32 11, i32 0, metadata !2, i32 0} ; [ DW_TAG_lexical_block ]
116 !38 = metadata !{i32 524544, metadata !39, metadata !"v", metadata !2, i32 24, metadata !1} ; [ DW_TAG_auto_variable ]
117 !39 = metadata !{i32 524299, metadata !40, i32 23, i32 0, metadata !2, i32 4} ; [ DW_TAG_lexical_block ]
118 !40 = metadata !{i32 524299, metadata !20, i32 23, i32 0, metadata !2, i32 3} ; [ DW_TAG_lexical_block ]
119 !41 = metadata !{i32 24, i32 0, metadata !39, null}
120 !42 = metadata !{i32 25, i32 0, metadata !39, null}
121 !43 = metadata !{i32 26, i32 0, metadata !39, null}
122 !44 = metadata !{i32 524544, metadata !39, metadata !"k", metadata !2, i32 26, metadata !13} ; [ DW_TAG_auto_variable ]
123 !45 = metadata !{i32 27, i32 0, metadata !39, null}
0 ; RUN: llc %s -O0 -o /dev/null -mtriple=x86_64-apple-darwin
1 ; PR 5197
2 ; There is not any llvm instruction assocated with !5. The code generator
3 ; should be able to handle this.
4
5 define void @bar() nounwind ssp {
6 entry:
7 %count_ = alloca i32, align 4 ; [#uses=2]
8 br label %do.body, !dbg !0
9
10 do.body: ; preds = %entry
11 call void @llvm.dbg.declare(metadata !{i32* %count_}, metadata !4)
12 %conv = ptrtoint i32* %count_ to i32, !dbg !0 ; [#uses=1]
13 %call = call i32 @foo(i32 %conv) ssp, !dbg !0 ; [#uses=0]
14 br label %do.end, !dbg !0
15
16 do.end: ; preds = %do.body
17 ret void, !dbg !7
18 }
19
20 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
21
22 declare i32 @foo(i32) ssp
23
24 !0 = metadata !{i32 5, i32 2, metadata !1, null}
25 !1 = metadata !{i32 458763, metadata !2}; [DW_TAG_lexical_block ]
26 !2 = metadata !{i32 458798, i32 0, metadata !3, metadata !"bar", metadata !"bar", metadata !"bar", metadata !3, i32 4, null, i1 false, i1 true}; [DW_TAG_subprogram ]
27 !3 = metadata !{i32 458769, i32 0, i32 12, metadata !"genmodes.i", metadata !"/Users/yash/Downloads", metadata !"clang 1.1", i1 true, i1 false, metadata !"", i32 0}; [DW_TAG_compile_unit ]
28 !4 = metadata !{i32 459008, metadata !5, metadata !"count_", metadata !3, i32 5, metadata !6}; [ DW_TAG_auto_variable ]
29 !5 = metadata !{i32 458763, metadata !1}; [DW_TAG_lexical_block ]
30 !6 = metadata !{i32 458788, metadata !3, metadata !"int", metadata !3, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
31 !7 = metadata !{i32 6, i32 1, metadata !2, null}
0 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin < %s | grep DW_OP_fbreg
1 ; Use DW_OP_fbreg in variable's location expression if the variable is in a stack slot.
2
3 %struct.SVal = type { i8*, i32 }
4
5 define i32 @_Z3fooi4SVal(i32 %i, %struct.SVal* noalias %location) nounwind ssp {
6 entry:
7 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
8 call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !23), !dbg !24
9 call void @llvm.dbg.value(metadata !{%struct.SVal* %location}, i64 0, metadata !25), !dbg !24
10 %0 = icmp ne i32 %i, 0, !dbg !27 ; [#uses=1]
11 br i1 %0, label %bb, label %bb1, !dbg !27
12
13 bb: ; preds = %entry
14 %1 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !29 ; [#uses=1]
15 %2 = load i32* %1, align 8, !dbg !29 ; [#uses=1]
16 %3 = add i32 %2, %i, !dbg !29 ; [#uses=1]
17 br label %bb2, !dbg !29
18
19 bb1: ; preds = %entry
20 %4 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !30 ; [#uses=1]
21 %5 = load i32* %4, align 8, !dbg !30 ; [#uses=1]
22 %6 = sub i32 %5, 1, !dbg !30 ; [#uses=1]
23 br label %bb2, !dbg !30
24
25 bb2: ; preds = %bb1, %bb
26 %.0 = phi i32 [ %3, %bb ], [ %6, %bb1 ] ; [#uses=1]
27 br label %return, !dbg !29
28
29 return: ; preds = %bb2
30 ret i32 %.0, !dbg !29
31 }
32
33 define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 {
34 entry:
35 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
36 call void @llvm.dbg.value(metadata !{%struct.SVal* %this}, i64 0, metadata !31), !dbg !34
37 %0 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 0, !dbg !34 ; [#uses=1]
38 store i8* null, i8** %0, align 8, !dbg !34
39 %1 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 1, !dbg !34 ; [#uses=1]
40 store i32 0, i32* %1, align 8, !dbg !34
41 br label %return, !dbg !34
42
43 return: ; preds = %entry
44 ret void, !dbg !35
45 }
46
47 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
48
49 define i32 @main() nounwind ssp {
50 entry:
51 %0 = alloca %struct.SVal ; <%struct.SVal*> [#uses=3]
52 %v = alloca %struct.SVal ; <%struct.SVal*> [#uses=4]
53 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
54 call void @llvm.dbg.declare(metadata !{%struct.SVal* %v}, metadata !38), !dbg !41
55 call void @_ZN4SValC1Ev(%struct.SVal* %v) nounwind, !dbg !41
56 %1 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !42 ; [#uses=1]
57 store i32 1, i32* %1, align 8, !dbg !42
58 %2 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 0, !dbg !43 ; [#uses=1]
59 %3 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 0, !dbg !43 ; [#uses=1]
60 %4 = load i8** %3, align 8, !dbg !43 ; [#uses=1]
61 store i8* %4, i8** %2, align 8, !dbg !43
62 %5 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 1, !dbg !43 ; [#uses=1]
63 %6 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !43 ; [#uses=1]
64 %7 = load i32* %6, align 8, !dbg !43 ; [#uses=1]
65 store i32 %7, i32* %5, align 8, !dbg !43
66 %8 = call i32 @_Z3fooi4SVal(i32 2, %struct.SVal* noalias %0) nounwind, !dbg !43 ; [#uses=0]
67 call void @llvm.dbg.value(metadata !{i32 %8}, i64 0, metadata !44), !dbg !43
68 br label %return, !dbg !45
69
70 return: ; preds = %entry
71 ret i32 0, !dbg !45
72 }
73
74 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
75
76 !llvm.dbg.sp = !{!0, !9, !16, !17, !20}
77
78 !0 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"", metadata !2, i32 11, metadata !14, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
79 !1 = metadata !{i32 524307, metadata !2, metadata !"SVal", metadata !2, i32 1, i64 128, i64 64, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_structure_type ]
80 !2 = metadata !{i32 524329, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !3} ; [ DW_TAG_file_type ]
81 !3 = metadata !{i32 524305, i32 0, i32 4, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, i1 false, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
82 !4 = metadata !{metadata !5, metadata !7, metadata !0, metadata !9}
83 !5 = metadata !{i32 524301, metadata !1, metadata !"Data", metadata !2, i32 7, i64 64, i64 64, i64 0, i32 0, metadata !6} ; [ DW_TAG_member ]
84 !6 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ]
85 !7 = metadata !{i32 524301, metadata !1, metadata !"Kind", metadata !2, i32 8, i64 32, i64 32, i64 64, i32 0, metadata !8} ; [ DW_TAG_member ]
86 !8 = metadata !{i32 524324, metadata !2, metadata !"unsigned int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
87 !9 = metadata !{i32 524334, i32 0, metadata !1, metadata !"~SVal", metadata !"~SVal", metadata !"", metadata !2, i32 12, metadata !10, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
88 !10 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !11, i32 0, null} ; [ DW_TAG_subroutine_type ]
89 !11 = metadata !{null, metadata !12, metadata !13}
90 !12 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !1} ; [ DW_TAG_pointer_type ]
91 !13 = metadata !{i32 524324, metadata !2, metadata !"int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
92 !14 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !15, i32 0, null} ; [ DW_TAG_subroutine_type ]
93 !15 = metadata !{null, metadata !12}
94 !16 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"_ZN4SValC1Ev", metadata !2, i32 11, metadata !14, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, void (%struct.SVal*)* @_ZN4SValC1Ev} ; [ DW_TAG_subprogram ]
95 !17 = metadata !{i32 524334, i32 0, metadata !2, metadata !"foo", metadata !"foo", metadata !"_Z3fooi4SVal", metadata !2, i32 16, metadata !18, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 (i32, %struct.SVal*)* @_Z3fooi4SVal} ; [ DW_TAG_subprogram ]
96 !18 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !19, i32 0, null} ; [ DW_TAG_subroutine_type ]
97 !19 = metadata !{metadata !13, metadata !13, metadata !1}
98 !20 = metadata !{i32 524334, i32 0, metadata !2, metadata !"main", metadata !"main", metadata !"main", metadata !2, i32 23, metadata !21, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 ()* @main} ; [ DW_TAG_subprogram ]
99 !21 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !22, i32 0, null} ; [ DW_TAG_subroutine_type ]
100 !22 = metadata !{metadata !13}
101 !23 = metadata !{i32 524545, metadata !17, metadata !"i", metadata !2, i32 16, metadata !13} ; [ DW_TAG_arg_variable ]
102 !24 = metadata !{i32 16, i32 0, metadata !17, null}
103 !25 = metadata !{i32 524545, metadata !17, metadata !"location", metadata !2, i32 16, metadata !26} ; [ DW_TAG_arg_variable ]
104 !26 = metadata !{i32 524304, metadata !2, metadata !"SVal", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_reference_type ]
105 !27 = metadata !{i32 17, i32 0, metadata !28, null}
106 !28 = metadata !{i32 524299, metadata !17, i32 16, i32 0, metadata !2, i32 2} ; [ DW_TAG_lexical_block ]
107 !29 = metadata !{i32 18, i32 0, metadata !28, null}
108 !30 = metadata !{i32 20, i32 0, metadata !28, null}
109 !31 = metadata !{i32 524545, metadata !16, metadata !"this", metadata !2, i32 11, metadata !32} ; [ DW_TAG_arg_variable ]
110 !32 = metadata !{i32 524326, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !33} ; [ DW_TAG_const_type ]
111 !33 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_pointer_type ]
112 !34 = metadata !{i32 11, i32 0, metadata !16, null}
113 !35 = metadata !{i32 11, i32 0, metadata !36, null}
114 !36 = metadata !{i32 524299, metadata !37, i32 11, i32 0, metadata !2, i32 1} ; [ DW_TAG_lexical_block ]
115 !37 = metadata !{i32 524299, metadata !16, i32 11, i32 0, metadata !2, i32 0} ; [ DW_TAG_lexical_block ]
116 !38 = metadata !{i32 524544, metadata !39, metadata !"v", metadata !2, i32 24, metadata !1} ; [ DW_TAG_auto_variable ]
117 !39 = metadata !{i32 524299, metadata !40, i32 23, i32 0, metadata !2, i32 4} ; [ DW_TAG_lexical_block ]
118 !40 = metadata !{i32 524299, metadata !20, i32 23, i32 0, metadata !2, i32 3} ; [ DW_TAG_lexical_block ]
119 !41 = metadata !{i32 24, i32 0, metadata !39, null}
120 !42 = metadata !{i32 25, i32 0, metadata !39, null}
121 !43 = metadata !{i32 26, i32 0, metadata !39, null}
122 !44 = metadata !{i32 524544, metadata !39, metadata !"k", metadata !2, i32 26, metadata !13} ; [ DW_TAG_auto_variable ]
123 !45 = metadata !{i32 27, i32 0, metadata !39, null}
+0
-33
test/DebugInfo/2009-10-16-Scope.ll less more
None ; RUN: llc %s -O0 -o /dev/null -mtriple=x86_64-apple-darwin
1 ; RUN: llc %s -O0 -o /dev/null -mtriple=arm-apple-darwin
2 ; PR 5197
3 ; There is not any llvm instruction assocated with !5. The code generator
4 ; should be able to handle this.
5
6 define void @bar() nounwind ssp {
7 entry:
8 %count_ = alloca i32, align 4 ; [#uses=2]
9 br label %do.body, !dbg !0
10
11 do.body: ; preds = %entry
12 call void @llvm.dbg.declare(metadata !{i32* %count_}, metadata !4)
13 %conv = ptrtoint i32* %count_ to i32, !dbg !0 ; [#uses=1]
14 %call = call i32 @foo(i32 %conv) ssp, !dbg !0 ; [#uses=0]
15 br label %do.end, !dbg !0
16
17 do.end: ; preds = %do.body
18 ret void, !dbg !7
19 }
20
21 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
22
23 declare i32 @foo(i32) ssp
24
25 !0 = metadata !{i32 5, i32 2, metadata !1, null}
26 !1 = metadata !{i32 458763, metadata !2}; [DW_TAG_lexical_block ]
27 !2 = metadata !{i32 458798, i32 0, metadata !3, metadata !"bar", metadata !"bar", metadata !"bar", metadata !3, i32 4, null, i1 false, i1 true}; [DW_TAG_subprogram ]
28 !3 = metadata !{i32 458769, i32 0, i32 12, metadata !"genmodes.i", metadata !"/Users/yash/Downloads", metadata !"clang 1.1", i1 true, i1 false, metadata !"", i32 0}; [DW_TAG_compile_unit ]
29 !4 = metadata !{i32 459008, metadata !5, metadata !"count_", metadata !3, i32 5, metadata !6}; [ DW_TAG_auto_variable ]
30 !5 = metadata !{i32 458763, metadata !1}; [DW_TAG_lexical_block ]
31 !6 = metadata !{i32 458788, metadata !3, metadata !"int", metadata !3, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
32 !7 = metadata !{i32 6, i32 1, metadata !2, null}
+0
-125
test/DebugInfo/2010-08-04-StackVariable.ll less more
None ; RUN: llc -O0 -mtriple=arm-apple-darwin < %s | grep DW_OP_fbreg
1 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin < %s | grep DW_OP_fbreg
2 ; Use DW_OP_fbreg in variable's location expression if the variable is in a stack slot.
3
4 %struct.SVal = type { i8*, i32 }
5
6 define i32 @_Z3fooi4SVal(i32 %i, %struct.SVal* noalias %location) nounwind ssp {
7 entry:
8 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
9 call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !23), !dbg !24
10 call void @llvm.dbg.value(metadata !{%struct.SVal* %location}, i64 0, metadata !25), !dbg !24
11 %0 = icmp ne i32 %i, 0, !dbg !27 ; [#uses=1]
12 br i1 %0, label %bb, label %bb1, !dbg !27
13
14 bb: ; preds = %entry
15 %1 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !29 ; [#uses=1]
16 %2 = load i32* %1, align 8, !dbg !29 ; [#uses=1]
17 %3 = add i32 %2, %i, !dbg !29 ; [#uses=1]
18 br label %bb2, !dbg !29
19
20 bb1: ; preds = %entry
21 %4 = getelementptr inbounds %struct.SVal* %location, i32 0, i32 1, !dbg !30 ; [#uses=1]
22 %5 = load i32* %4, align 8, !dbg !30 ; [#uses=1]
23 %6 = sub i32 %5, 1, !dbg !30 ; [#uses=1]
24 br label %bb2, !dbg !30
25
26 bb2: ; preds = %bb1, %bb
27 %.0 = phi i32 [ %3, %bb ], [ %6, %bb1 ] ; [#uses=1]
28 br label %return, !dbg !29
29
30 return: ; preds = %bb2
31 ret i32 %.0, !dbg !29
32 }
33
34 define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 {
35 entry:
36 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
37 call void @llvm.dbg.value(metadata !{%struct.SVal* %this}, i64 0, metadata !31), !dbg !34
38 %0 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 0, !dbg !34 ; [#uses=1]
39 store i8* null, i8** %0, align 8, !dbg !34
40 %1 = getelementptr inbounds %struct.SVal* %this, i32 0, i32 1, !dbg !34 ; [#uses=1]
41 store i32 0, i32* %1, align 8, !dbg !34
42 br label %return, !dbg !34
43
44 return: ; preds = %entry
45 ret void, !dbg !35
46 }
47
48 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
49
50 define i32 @main() nounwind ssp {
51 entry:
52 %0 = alloca %struct.SVal ; <%struct.SVal*> [#uses=3]
53 %v = alloca %struct.SVal ; <%struct.SVal*> [#uses=4]
54 %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
55 call void @llvm.dbg.declare(metadata !{%struct.SVal* %v}, metadata !38), !dbg !41
56 call void @_ZN4SValC1Ev(%struct.SVal* %v) nounwind, !dbg !41
57 %1 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !42 ; [#uses=1]
58 store i32 1, i32* %1, align 8, !dbg !42
59 %2 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 0, !dbg !43 ; [#uses=1]
60 %3 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 0, !dbg !43 ; [#uses=1]
61 %4 = load i8** %3, align 8, !dbg !43 ; [#uses=1]
62 store i8* %4, i8** %2, align 8, !dbg !43
63 %5 = getelementptr inbounds %struct.SVal* %0, i32 0, i32 1, !dbg !43 ; [#uses=1]
64 %6 = getelementptr inbounds %struct.SVal* %v, i32 0, i32 1, !dbg !43 ; [#uses=1]
65 %7 = load i32* %6, align 8, !dbg !43 ; [#uses=1]
66 store i32 %7, i32* %5, align 8, !dbg !43
67 %8 = call i32 @_Z3fooi4SVal(i32 2, %struct.SVal* noalias %0) nounwind, !dbg !43 ; [#uses=0]
68 call void @llvm.dbg.value(metadata !{i32 %8}, i64 0, metadata !44), !dbg !43
69 br label %return, !dbg !45
70
71 return: ; preds = %entry
72 ret i32 0, !dbg !45
73 }
74
75 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
76
77 !llvm.dbg.sp = !{!0, !9, !16, !17, !20}
78
79 !0 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"", metadata !2, i32 11, metadata !14, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
80 !1 = metadata !{i32 524307, metadata !2, metadata !"SVal", metadata !2, i32 1, i64 128, i64 64, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_structure_type ]
81 !2 = metadata !{i32 524329, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !3} ; [ DW_TAG_file_type ]
82 !3 = metadata !{i32 524305, i32 0, i32 4, metadata !"small.cc", metadata !"/Users/manav/R8248330", metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, i1 false, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
83 !4 = metadata !{metadata !5, metadata !7, metadata !0, metadata !9}
84 !5 = metadata !{i32 524301, metadata !1, metadata !"Data", metadata !2, i32 7, i64 64, i64 64, i64 0, i32 0, metadata !6} ; [ DW_TAG_member ]
85 !6 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ]
86 !7 = metadata !{i32 524301, metadata !1, metadata !"Kind", metadata !2, i32 8, i64 32, i64 32, i64 64, i32 0, metadata !8} ; [ DW_TAG_member ]
87 !8 = metadata !{i32 524324, metadata !2, metadata !"unsigned int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
88 !9 = metadata !{i32 524334, i32 0, metadata !1, metadata !"~SVal", metadata !"~SVal", metadata !"", metadata !2, i32 12, metadata !10, i1 false, i1 false, i32 0, i32 0, null, i1 false, i1 false, null} ; [ DW_TAG_subprogram ]
89 !10 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !11, i32 0, null} ; [ DW_TAG_subroutine_type ]
90 !11 = metadata !{null, metadata !12, metadata !13}
91 !12 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !1} ; [ DW_TAG_pointer_type ]
92 !13 = metadata !{i32 524324, metadata !2, metadata !"int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
93 !14 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !15, i32 0, null} ; [ DW_TAG_subroutine_type ]
94 !15 = metadata !{null, metadata !12}
95 !16 = metadata !{i32 524334, i32 0, metadata !1, metadata !"SVal", metadata !"SVal", metadata !"_ZN4SValC1Ev", metadata !2, i32 11, metadata !14, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, void (%struct.SVal*)* @_ZN4SValC1Ev} ; [ DW_TAG_subprogram ]
96 !17 = metadata !{i32 524334, i32 0, metadata !2, metadata !"foo", metadata !"foo", metadata !"_Z3fooi4SVal", metadata !2, i32 16, metadata !18, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 (i32, %struct.SVal*)* @_Z3fooi4SVal} ; [ DW_TAG_subprogram ]
97 !18 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !19, i32 0, null} ; [ DW_TAG_subroutine_type ]
98 !19 = metadata !{metadata !13, metadata !13, metadata !1}
99 !20 = metadata !{i32 524334, i32 0, metadata !2, metadata !"main", metadata !"main", metadata !"main", metadata !2, i32 23, metadata !21, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 ()* @main} ; [ DW_TAG_subprogram ]
100 !21 = metadata !{i32 524309, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !22, i32 0, null} ; [ DW_TAG_subroutine_type ]
101 !22 = metadata !{metadata !13}
102 !23 = metadata !{i32 524545, metadata !17, metadata !"i", metadata !2, i32 16, metadata !13} ; [ DW_TAG_arg_variable ]
103 !24 = metadata !{i32 16, i32 0, metadata !17, null}
104 !25 = metadata !{i32 524545, metadata !17, metadata !"location", metadata !2, i32 16, metadata !26} ; [ DW_TAG_arg_variable ]
105 !26 = metadata !{i32 524304, metadata !2, metadata !"SVal", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_reference_type ]
106 !27 = metadata !{i32 17, i32 0, metadata !28, null}
107 !28 = metadata !{i32 524299, metadata !17, i32 16, i32 0, metadata !2, i32 2} ; [ DW_TAG_lexical_block ]
108 !29 = metadata !{i32 18, i32 0, metadata !28, null}
109 !30 = metadata !{i32 20, i32 0, metadata !28, null}
110 !31 = metadata !{i32 524545, metadata !16, metadata !"this", metadata !2, i32 11, metadata !32} ; [ DW_TAG_arg_variable ]
111 !32 = metadata !{i32 524326, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 64, metadata !33} ; [ DW_TAG_const_type ]
112 !33 = metadata !{i32 524303, metadata !2, metadata !"", metadata !2, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !1} ; [ DW_TAG_pointer_type ]
113 !34 = metadata !{i32 11, i32 0, metadata !16, null}
114 !35 = metadata !{i32 11, i32 0, metadata !36, null}
115 !36 = metadata !{i32 524299, metadata !37, i32 11, i32 0, metadata !2, i32 1} ; [ DW_TAG_lexical_block ]
116 !37 = metadata !{i32 524299, metadata !16, i32 11, i32 0, metadata !2, i32 0} ; [ DW_TAG_lexical_block ]
117 !38 = metadata !{i32 524544, metadata !39, metadata !"v", metadata !2, i32 24, metadata !1} ; [ DW_TAG_auto_variable ]
118 !39 = metadata !{i32 524299, metadata !40, i32 23, i32 0, metadata !2, i32 4} ; [ DW_TAG_lexical_block ]
119 !40 = metadata !{i32 524299, metadata !20, i32 23, i32 0, metadata !2, i32 3} ; [ DW_TAG_lexical_block ]
120 !41 = metadata !{i32 24, i32 0, metadata !39, null}
121 !42 = metadata !{i32 25, i32 0, metadata !39, null}
122 !43 = metadata !{i32 26, i32 0, metadata !39, null}
123 !44 = metadata !{i32 524544, metadata !39, metadata !"k", metadata !2, i32 26, metadata !13} ; [ DW_TAG_auto_variable ]
124 !45 = metadata !{i32 27, i32 0, metadata !39, null}
0 @ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.obj
1 @ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2 @ RUN: FileCheck < %t.dump %s
3
4 .syntax unified
5 .text
6 _f0:
7 bl _printf
8
9 _f1:
10 bl _f0
11
12 .data
13 _d0:
14 Ld0_0:
15 .long Lsc0_0 - Ld0_0
16
17 .section __TEXT,__cstring,cstring_literals
18 Lsc0_0:
19 .long 0
20
21 @ CHECK: ('cputype', 12)
22 @ CHECK: ('cpusubtype', 9)
23 @ CHECK: ('filetype', 1)
24 @ CHECK: ('num_load_commands', 3)
25 @ CHECK: ('load_commands_size', 364)
26 @ CHECK: ('flag', 0)
27 @ CHECK: ('load_commands', [
28 @ CHECK: # Load Command 0
29 @ CHECK: (('command', 1)
30 @ CHECK: ('size', 260)
31 @ CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
32 @ CHECK: ('vm_addr', 0)
33 @ CHECK: ('vm_size', 16)
34 @ CHECK: ('file_offset', 392)
35 @ CHECK: ('file_size', 16)
36 @ CHECK: ('maxprot', 7)
37 @ CHECK: ('initprot', 7)
38 @ CHECK: ('num_sections', 3)
39 @ CHECK: ('flags', 0)
40 @ CHECK: ('sections', [
41 @ CHECK: # Section 0
42 @ CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
43 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
44 @ CHECK: ('address', 0)
45 @ CHECK: ('size', 8)
46 @ CHECK: ('offset', 392)
47 @ CHECK: ('alignment', 0)
48 @ CHECK: ('reloc_offset', 408)
49 @ CHECK: ('num_reloc', 2)
50 @ CHECK: ('flags', 0x80000400)
51 @ CHECK: ('reserved1', 0)
52 @ CHECK: ('reserved2', 0)
53 @ CHECK: ),
54 @ CHECK: ('_relocations', [
55 @ CHECK: # Relocation 0
56 @ CHECK: (('word-0', 0x4),
57 @ CHECK: ('word-1', 0x55000001)),
58 @ CHECK: # Relocation 1
59 @ CHECK: (('word-0', 0x0),
60 @ CHECK: ('word-1', 0x5d000003)),
61 @ CHECK: ])
62 @ CHECK: ('_section_data', 'feffffeb fdffffeb')
63 @ CHECK: # Section 1
64 @ CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
65 @ CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
66 @ CHECK: ('address', 8)
67 @ CHECK: ('size', 4)
68 @ CHECK: ('offset', 400)
69 @ CHECK: ('alignment', 0)
70 @ CHECK: ('reloc_offset', 424)
71 @ CHECK: ('num_reloc', 2)
72 @ CHECK: ('flags', 0x0)
73 @ CHECK: ('reserved1', 0)
74 @ CHECK: ('reserved2', 0)
75 @ CHECK: ),
76 @ CHECK: ('_relocations', [
77 @ CHECK: # Relocation 0
78 @ CHECK: (('word-0', 0xa2000000),
79 @ CHECK: ('word-1', 0xc)),
80 @ CHECK: # Relocation 1
81 @ CHECK: (('word-0', 0xa1000000),
82 @ CHECK: ('word-1', 0x8)),
83 @ CHECK: ])
84 @ CHECK: ('_section_data', '04000000')
85 @ CHECK: # Section 2
86 @ CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00')
87 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
88 @ CHECK: ('address', 12)
89 @ CHECK: ('size', 4)
90 @ CHECK: ('offset', 404)
91 @ CHECK: ('alignment', 0)
92 @ CHECK: ('reloc_offset', 0)
93 @ CHECK: ('num_reloc', 0)
94 @ CHECK: ('flags', 0x2)
95 @ CHECK: ('reserved1', 0)
96 @ CHECK: ('reserved2', 0)
97 @ CHECK: ),
98 @ CHECK: ('_relocations', [
99 @ CHECK: ])
100 @ CHECK: ('_section_data', '00000000')
101 @ CHECK: ])
102 @ CHECK: ),
103 @ CHECK: # Load Command 1
104 @ CHECK: (('command', 2)
105 @ CHECK: ('size', 24)
106 @ CHECK: ('symoff', 440)
107 @ CHECK: ('nsyms', 4)
108 @ CHECK: ('stroff', 488)
109 @ CHECK: ('strsize', 24)
110 @ CHECK: ('_string_data', '\x00_printf\x00_f0\x00_f1\x00_d0\x00\x00\x00\x00')
111 @ CHECK: ('_symbols', [
112 @ CHECK: # Symbol 0
113 @ CHECK: (('n_strx', 9)
114 @ CHECK: ('n_type', 0xe)
115 @ CHECK: ('n_sect', 1)
116 @ CHECK: ('n_desc', 0)
117 @ CHECK: ('n_value', 0)
118 @ CHECK: ('_string', '_f0')
119 @ CHECK: ),
120 @ CHECK: # Symbol 1
121 @ CHECK: (('n_strx', 13)
122 @ CHECK: ('n_type', 0xe)
123 @ CHECK: ('n_sect', 1)
124 @ CHECK: ('n_desc', 0)
125 @ CHECK: ('n_value', 4)
126 @ CHECK: ('_string', '_f1')
127 @ CHECK: ),
128 @ CHECK: # Symbol 2
129 @ CHECK: (('n_strx', 17)
130 @ CHECK: ('n_type', 0xe)
131 @ CHECK: ('n_sect', 2)
132 @ CHECK: ('n_desc', 0)
133 @ CHECK: ('n_value', 8)
134 @ CHECK: ('_string', '_d0')
135 @ CHECK: ),
136 @ CHECK: # Symbol 3
137 @ CHECK: (('n_strx', 1)
138 @ CHECK: ('n_type', 0x1)
139 @ CHECK: ('n_sect', 0)
140 @ CHECK: ('n_desc', 0)
141 @ CHECK: ('n_value', 0)
142 @ CHECK: ('_string', '_printf')
143 @ CHECK: ),
144 @ CHECK: ])
145 @ CHECK: ),
146 @ CHECK: # Load Command 2
147 @ CHECK: (('command', 11)
148 @ CHECK: ('size', 80)
149 @ CHECK: ('ilocalsym', 0)
150 @ CHECK: ('nlocalsym', 3)
151 @ CHECK: ('iextdefsym', 3)
152 @ CHECK: ('nextdefsym', 0)
153 @ CHECK: ('iundefsym', 3)
154 @ CHECK: ('nundefsym', 1)
155 @ CHECK: ('tocoff', 0)
156 @ CHECK: ('ntoc', 0)
157 @ CHECK: ('modtaboff', 0)
158 @ CHECK: ('nmodtab', 0)
159 @ CHECK: ('extrefsymoff', 0)
160 @ CHECK: ('nextrefsyms', 0)
161 @ CHECK: ('indirectsymoff', 0)
162 @ CHECK: ('nindirectsyms', 0)
163 @ CHECK: ('extreloff', 0)
164 @ CHECK: ('nextrel', 0)
165 @ CHECK: ('locreloff', 0)
166 @ CHECK: ('nlocrel', 0)
167 @ CHECK: ('_indirect_symbols', [
168 @ CHECK: ])
169 @ CHECK: ),
170 @ CHECK: ])
0 @ RUN: llvm-mc -n -triple thumbv7-apple-darwin10 %s -filetype=obj -o %t.obj
1 @ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2 @ RUN: FileCheck < %t.dump %s
3
4 .syntax unified
5 .section __TEXT,__text,regular,pure_instructions
6 .globl _main
7 .align 2
8 .code 16
9 .thumb_func _main
10 _main:
11 LPC0_0:
12 blx _printf
13 .align 2
14 LCPI0_0:
15 .long L_.str-(LPC0_0+4)
16
17 .section __TEXT,__cstring,cstring_literals
18 .align 2
19 L_.str:
20 .asciz "s0"
21
22 .subsections_via_symbols
23
24 @ CHECK: ('cputype', 12)
25 @ CHECK: ('cpusubtype', 9)
26 @ CHECK: ('filetype', 1)
27 @ CHECK: ('num_load_commands', 3)
28 @ CHECK: ('load_commands_size', 296)
29 @ CHECK: ('flag', 8192)
30 @ CHECK: ('load_commands', [
31 @ CHECK: # Load Command 0
32 @ CHECK: (('command', 1)
33 @ CHECK: ('size', 192)
34 @ CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
35 @ CHECK: ('vm_addr', 0)
36 @ CHECK: ('vm_size', 11)
37 @ CHECK: ('file_offset', 324)
38 @ CHECK: ('file_size', 11)
39 @ CHECK: ('maxprot', 7)
40 @ CHECK: ('initprot', 7)
41 @ CHECK: ('num_sections', 2)
42 @ CHECK: ('flags', 0)
43 @ CHECK: ('sections', [
44 @ CHECK: # Section 0
45 @ CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
46 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
47 @ CHECK: ('address', 0)
48 @ CHECK: ('size', 8)
49 @ CHECK: ('offset', 324)
50 @ CHECK: ('alignment', 2)
51 @ CHECK: ('reloc_offset', 336)
52 @ CHECK: ('num_reloc', 3)
53 @ CHECK: ('flags', 0x80000400)
54 @ CHECK: ('reserved1', 0)
55 @ CHECK: ('reserved2', 0)
56 @ CHECK: ),
57 @ CHECK: ('_relocations', [
58 @ CHECK: # Relocation 0
59 @ CHECK: (('word-0', 0xa2000004),
60 @ CHECK: ('word-1', 0x8)),
61 @ CHECK: # Relocation 1
62 @ CHECK: (('word-0', 0xa1000000),
63 @ CHECK: ('word-1', 0x0)),
64 @ CHECK: # Relocation 2
65 @ CHECK: (('word-0', 0x0),
66 @ CHECK: ('word-1', 0x6d000001)),
67 @ CHECK: ])
68 @ CHECK-FIXME: ('_section_data', 'fff7feef 04000000')
69 @ CHECK: # Section 1
70 @ CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00')
71 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
72 @ CHECK: ('address', 8)
73 @ CHECK: ('size', 3)
74 @ CHECK: ('offset', 332)
75 @ CHECK: ('alignment', 2)
76 @ CHECK: ('reloc_offset', 0)
77 @ CHECK: ('num_reloc', 0)
78 @ CHECK: ('flags', 0x2)
79 @ CHECK: ('reserved1', 0)
80 @ CHECK: ('reserved2', 0)
81 @ CHECK: ),
82 @ CHECK: ('_relocations', [
83 @ CHECK: ])
84 @ CHECK: ('_section_data', '733000')
85 @ CHECK: ])
86 @ CHECK: ),
87 @ CHECK: # Load Command 1
88 @ CHECK: (('command', 2)
89 @ CHECK: ('size', 24)
90 @ CHECK: ('symoff', 360)
91 @ CHECK: ('nsyms', 2)
92 @ CHECK: ('stroff', 384)
93 @ CHECK: ('strsize', 16)
94 @ CHECK: ('_string_data', '\x00_main\x00_printf\x00\x00')
95 @ CHECK: ('_symbols', [
96 @ CHECK: # Symbol 0
97 @ CHECK: (('n_strx', 1)
98 @ CHECK: ('n_type', 0xf)
99 @ CHECK: ('n_sect', 1)
100 @ CHECK: ('n_desc', 8)
101 @ CHECK: ('n_value', 0)
102 @ CHECK: ('_string', '_main')
103 @ CHECK: ),
104 @ CHECK: # Symbol 1
105 @ CHECK: (('n_strx', 7)
106 @ CHECK: ('n_type', 0x1)
107 @ CHECK: ('n_sect', 0)
108 @ CHECK: ('n_desc', 0)
109 @ CHECK: ('n_value', 0)
110 @ CHECK: ('_string', '_printf')
111 @ CHECK: ),
112 @ CHECK: ])
113 @ CHECK: ),
114 @ CHECK: # Load Command 2
115 @ CHECK: (('command', 11)
116 @ CHECK: ('size', 80)
117 @ CHECK: ('ilocalsym', 0)
118 @ CHECK: ('nlocalsym', 0)
119 @ CHECK: ('iextdefsym', 0)
120 @ CHECK: ('nextdefsym', 1)
121 @ CHECK: ('iundefsym', 1)
122 @ CHECK: ('nundefsym', 1)
123 @ CHECK: ('tocoff', 0)
124 @ CHECK: ('ntoc', 0)
125 @ CHECK: ('modtaboff', 0)
126 @ CHECK: ('nmodtab', 0)
127 @ CHECK: ('extrefsymoff', 0)
128 @ CHECK: ('nextrefsyms', 0)
129 @ CHECK: ('indirectsymoff', 0)
130 @ CHECK: ('nindirectsyms', 0)
131 @ CHECK: ('extreloff', 0)
132 @ CHECK: ('nextrel', 0)
133 @ CHECK: ('locreloff', 0)
134 @ CHECK: ('nlocrel', 0)
135 @ CHECK: ('_indirect_symbols', [
136 @ CHECK: ])
137 @ CHECK: ),
138 @ CHECK: ])
0 // RUN: llvm-mc -triple arm-apple-darwin10 %s | FileCheck %s
1 # this is a full line comment starting at column 1
2 # this starting at column 2
3
4 .data
5 // CHECK: .long 0
6 .long 0
7 # .long 1 this line is commented out
+0
-8
test/MC/AsmParser/full_line_comment.s less more
None // RUN: llvm-mc -triple arm-apple-darwin10 %s | FileCheck %s
1 # this is a full line comment starting at column 1
2 # this starting at column 2
3
4 .data
5 // CHECK: .long 0
6 .long 0
7 # .long 1 this line is commented out
+0
-171
test/MC/MachO/darwin-ARM-reloc.s less more
None @ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.obj
1 @ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2 @ RUN: FileCheck < %t.dump %s
3
4 .syntax unified
5 .text
6 _f0:
7 bl _printf
8
9 _f1:
10 bl _f0
11
12 .data
13 _d0:
14 Ld0_0:
15 .long Lsc0_0 - Ld0_0
16
17 .section __TEXT,__cstring,cstring_literals
18 Lsc0_0:
19 .long 0
20
21 @ CHECK: ('cputype', 12)
22 @ CHECK: ('cpusubtype', 9)
23 @ CHECK: ('filetype', 1)
24 @ CHECK: ('num_load_commands', 3)
25 @ CHECK: ('load_commands_size', 364)
26 @ CHECK: ('flag', 0)
27 @ CHECK: ('load_commands', [
28 @ CHECK: # Load Command 0
29 @ CHECK: (('command', 1)
30 @ CHECK: ('size', 260)
31 @ CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
32 @ CHECK: ('vm_addr', 0)
33 @ CHECK: ('vm_size', 16)
34 @ CHECK: ('file_offset', 392)
35 @ CHECK: ('file_size', 16)
36 @ CHECK: ('maxprot', 7)
37 @ CHECK: ('initprot', 7)
38 @ CHECK: ('num_sections', 3)
39 @ CHECK: ('flags', 0)
40 @ CHECK: ('sections', [
41 @ CHECK: # Section 0
42 @ CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
43 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
44 @ CHECK: ('address', 0)
45 @ CHECK: ('size', 8)
46 @ CHECK: ('offset', 392)
47 @ CHECK: ('alignment', 0)
48 @ CHECK: ('reloc_offset', 408)
49 @ CHECK: ('num_reloc', 2)
50 @ CHECK: ('flags', 0x80000400)
51 @ CHECK: ('reserved1', 0)
52 @ CHECK: ('reserved2', 0)
53 @ CHECK: ),
54 @ CHECK: ('_relocations', [
55 @ CHECK: # Relocation 0
56 @ CHECK: (('word-0', 0x4),
57 @ CHECK: ('word-1', 0x55000001)),
58 @ CHECK: # Relocation 1
59 @ CHECK: (('word-0', 0x0),
60 @ CHECK: ('word-1', 0x5d000003)),
61 @ CHECK: ])
62 @ CHECK: ('_section_data', 'feffffeb fdffffeb')
63 @ CHECK: # Section 1
64 @ CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
65 @ CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
66 @ CHECK: ('address', 8)
67 @ CHECK: ('size', 4)
68 @ CHECK: ('offset', 400)
69 @ CHECK: ('alignment', 0)
70 @ CHECK: ('reloc_offset', 424)
71 @ CHECK: ('num_reloc', 2)
72 @ CHECK: ('flags', 0x0)
73 @ CHECK: ('reserved1', 0)
74 @ CHECK: ('reserved2', 0)
75 @ CHECK: ),
76 @ CHECK: ('_relocations', [
77 @ CHECK: # Relocation 0
78 @ CHECK: (('word-0', 0xa2000000),
79 @ CHECK: ('word-1', 0xc)),
80 @ CHECK: # Relocation 1
81 @ CHECK: (('word-0', 0xa1000000),
82 @ CHECK: ('word-1', 0x8)),
83 @ CHECK: ])
84 @ CHECK: ('_section_data', '04000000')
85 @ CHECK: # Section 2
86 @ CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00')
87 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
88 @ CHECK: ('address', 12)
89 @ CHECK: ('size', 4)
90 @ CHECK: ('offset', 404)
91 @ CHECK: ('alignment', 0)
92 @ CHECK: ('reloc_offset', 0)
93 @ CHECK: ('num_reloc', 0)
94 @ CHECK: ('flags', 0x2)
95 @ CHECK: ('reserved1', 0)
96 @ CHECK: ('reserved2', 0)
97 @ CHECK: ),
98 @ CHECK: ('_relocations', [
99 @ CHECK: ])
100 @ CHECK: ('_section_data', '00000000')
101 @ CHECK: ])
102 @ CHECK: ),
103 @ CHECK: # Load Command 1
104 @ CHECK: (('command', 2)
105 @ CHECK: ('size', 24)
106 @ CHECK: ('symoff', 440)
107 @ CHECK: ('nsyms', 4)
108 @ CHECK: ('stroff', 488)
109 @ CHECK: ('strsize', 24)
110 @ CHECK: ('_string_data', '\x00_printf\x00_f0\x00_f1\x00_d0\x00\x00\x00\x00')
111 @ CHECK: ('_symbols', [
112 @ CHECK: # Symbol 0
113 @ CHECK: (('n_strx', 9)
114 @ CHECK: ('n_type', 0xe)
115 @ CHECK: ('n_sect', 1)
116 @ CHECK: ('n_desc', 0)
117 @ CHECK: ('n_value', 0)
118 @ CHECK: ('_string', '_f0')
119 @ CHECK: ),
120 @ CHECK: # Symbol 1
121 @ CHECK: (('n_strx', 13)
122 @ CHECK: ('n_type', 0xe)
123 @ CHECK: ('n_sect', 1)
124 @ CHECK: ('n_desc', 0)
125 @ CHECK: ('n_value', 4)
126 @ CHECK: ('_string', '_f1')
127 @ CHECK: ),
128 @ CHECK: # Symbol 2
129 @ CHECK: (('n_strx', 17)
130 @ CHECK: ('n_type', 0xe)
131 @ CHECK: ('n_sect', 2)
132 @ CHECK: ('n_desc', 0)
133 @ CHECK: ('n_value', 8)
134 @ CHECK: ('_string', '_d0')
135 @ CHECK: ),
136 @ CHECK: # Symbol 3
137 @ CHECK: (('n_strx', 1)
138 @ CHECK: ('n_type', 0x1)
139 @ CHECK: ('n_sect', 0)
140 @ CHECK: ('n_desc', 0)
141 @ CHECK: ('n_value', 0)
142 @ CHECK: ('_string', '_printf')
143 @ CHECK: ),
144 @ CHECK: ])
145 @ CHECK: ),
146 @ CHECK: # Load Command 2
147 @ CHECK: (('command', 11)
148 @ CHECK: ('size', 80)
149 @ CHECK: ('ilocalsym', 0)
150 @ CHECK: ('nlocalsym', 3)
151 @ CHECK: ('iextdefsym', 3)
152 @ CHECK: ('nextdefsym', 0)
153 @ CHECK: ('iundefsym', 3)
154 @ CHECK: ('nundefsym', 1)
155 @ CHECK: ('tocoff', 0)
156 @ CHECK: ('ntoc', 0)
157 @ CHECK: ('modtaboff', 0)
158 @ CHECK: ('nmodtab', 0)
159 @ CHECK: ('extrefsymoff', 0)
160 @ CHECK: ('nextrefsyms', 0)
161 @ CHECK: ('indirectsymoff', 0)
162 @ CHECK: ('nindirectsyms', 0)
163 @ CHECK: ('extreloff', 0)
164 @ CHECK: ('nextrel', 0)
165 @ CHECK: ('locreloff', 0)
166 @ CHECK: ('nlocrel', 0)
167 @ CHECK: ('_indirect_symbols', [
168 @ CHECK: ])
169 @ CHECK: ),
170 @ CHECK: ])
+0
-139
test/MC/MachO/darwin-Thumb-reloc.s less more
None @ RUN: llvm-mc -n -triple thumbv7-apple-darwin10 %s -filetype=obj -o %t.obj
1 @ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2 @ RUN: FileCheck < %t.dump %s
3
4 .syntax unified
5 .section __TEXT,__text,regular,pure_instructions
6 .globl _main
7 .align 2
8 .code 16
9 .thumb_func _main
10 _main:
11 LPC0_0:
12 blx _printf
13 .align 2
14 LCPI0_0:
15 .long L_.str-(LPC0_0+4)
16
17 .section __TEXT,__cstring,cstring_literals
18 .align 2
19 L_.str:
20 .asciz "s0"
21
22 .subsections_via_symbols
23
24 @ CHECK: ('cputype', 12)
25 @ CHECK: ('cpusubtype', 9)
26 @ CHECK: ('filetype', 1)
27 @ CHECK: ('num_load_commands', 3)
28 @ CHECK: ('load_commands_size', 296)
29 @ CHECK: ('flag', 8192)
30 @ CHECK: ('load_commands', [
31 @ CHECK: # Load Command 0
32 @ CHECK: (('command', 1)
33 @ CHECK: ('size', 192)
34 @ CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
35 @ CHECK: ('vm_addr', 0)
36 @ CHECK: ('vm_size', 11)
37 @ CHECK: ('file_offset', 324)
38 @ CHECK: ('file_size', 11)
39 @ CHECK: ('maxprot', 7)
40 @ CHECK: ('initprot', 7)
41 @ CHECK: ('num_sections', 2)
42 @ CHECK: ('flags', 0)
43 @ CHECK: ('sections', [
44 @ CHECK: # Section 0
45 @ CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
46 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
47 @ CHECK: ('address', 0)
48 @ CHECK: ('size', 8)
49 @ CHECK: ('offset', 324)
50 @ CHECK: ('alignment', 2)
51 @ CHECK: ('reloc_offset', 336)
52 @ CHECK: ('num_reloc', 3)
53 @ CHECK: ('flags', 0x80000400)
54 @ CHECK: ('reserved1', 0)
55 @ CHECK: ('reserved2', 0)
56 @ CHECK: ),
57 @ CHECK: ('_relocations', [
58 @ CHECK: # Relocation 0
59 @ CHECK: (('word-0', 0xa2000004),
60 @ CHECK: ('word-1', 0x8)),
61 @ CHECK: # Relocation 1
62 @ CHECK: (('word-0', 0xa1000000),
63 @ CHECK: ('word-1', 0x0)),
64 @ CHECK: # Relocation 2
65 @ CHECK: (('word-0', 0x0),
66 @ CHECK: ('word-1', 0x6d000001)),
67 @ CHECK: ])
68 @ CHECK-FIXME: ('_section_data', 'fff7feef 04000000')
69 @ CHECK: # Section 1
70 @ CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00')
71 @ CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
72 @ CHECK: ('address', 8)
73 @ CHECK: ('size', 3)
74 @ CHECK: ('offset', 332)
75 @ CHECK: ('alignment', 2)
76 @ CHECK: ('reloc_offset', 0)
77 @ CHECK: ('num_reloc', 0)
78 @ CHECK: ('flags', 0x2)
79 @ CHECK: ('reserved1', 0)
80 @ CHECK: ('reserved2', 0)
81 @ CHECK: ),
82 @ CHECK: ('_relocations', [
83 @ CHECK: ])
84 @ CHECK: ('_section_data', '733000')
85 @ CHECK: ])
86 @ CHECK: ),
87 @ CHECK: # Load Command 1
88 @ CHECK: (('command', 2)
89 @ CHECK: ('size', 24)
90 @ CHECK: ('symoff', 360)
91 @ CHECK: ('nsyms', 2)
92 @ CHECK: ('stroff', 384)
93 @ CHECK: ('strsize', 16)
94 @ CHECK: ('_string_data', '\x00_main\x00_printf\x00\x00')
95 @ CHECK: ('_symbols', [
96 @ CHECK: # Symbol 0
97 @ CHECK: (('n_strx', 1)
98 @ CHECK: ('n_type', 0xf)
99 @ CHECK: ('n_sect', 1)
100 @ CHECK: ('n_desc', 8)
101 @ CHECK: ('n_value', 0)
102 @ CHECK: ('_string', '_main')
103 @ CHECK: ),
104 @ CHECK: # Symbol 1
105 @ CHECK: (('n_strx', 7)
106 @ CHECK: ('n_type', 0x1)
107 @ CHECK: ('n_sect', 0)
108 @ CHECK: ('n_desc', 0)
109 @ CHECK: ('n_value', 0)
110 @ CHECK: ('_string', '_printf')
111 @ CHECK: ),
112 @ CHECK: ])
113 @ CHECK: ),
114 @ CHECK: # Load Command 2
115 @ CHECK: (('command', 11)
116 @ CHECK: ('size', 80)
117 @ CHECK: ('ilocalsym', 0)
118 @ CHECK: ('nlocalsym', 0)
119 @ CHECK: ('iextdefsym', 0)
120 @ CHECK: ('nextdefsym', 1)
121 @ CHECK: ('iundefsym', 1)
122 @ CHECK: ('nundefsym', 1)
123 @ CHECK: ('tocoff', 0)
124 @ CHECK: ('ntoc', 0)
125 @ CHECK: ('modtaboff', 0)
126 @ CHECK: ('nmodtab', 0)
127 @ CHECK: ('extrefsymoff', 0)
128 @ CHECK: ('nextrefsyms', 0)
129 @ CHECK: ('indirectsymoff', 0)
130 @ CHECK: ('nindirectsyms', 0)
131 @ CHECK: ('extreloff', 0)
132 @ CHECK: ('nextrel', 0)
133 @ CHECK: ('locreloff', 0)
134 @ CHECK: ('nlocrel', 0)
135 @ CHECK: ('_indirect_symbols', [
136 @ CHECK: ])
137 @ CHECK: ),
138 @ CHECK: ])