blob: f5ebb2d80c48cc56641a1cd3726a1edf7812b061 [file] [log] [blame]
Devang Patel1d68d212010-06-30 00:11:08 +00001; RUN: llc -O2 %s -o - | FileCheck %s
2; Check struct X for dead variable xyz from inlined function foo.
3
4; CHECK: DW_TAG_structure_type
Devang Patel1d68d212010-06-30 00:11:08 +00005; CHECK-NEXT: DW_AT_name
6
7
8@i = common global i32 0 ; <i32*> [#uses=2]
9
10declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
11
12declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
13
14define i32 @bar() nounwind ssp {
15entry:
16 %0 = load i32* @i, align 4, !dbg !17 ; <i32> [#uses=2]
17 tail call void @llvm.dbg.value(metadata !{i32 %0}, i64 0, metadata !9), !dbg !19
18 tail call void @llvm.dbg.declare(metadata !20, metadata !10), !dbg !21
19 %1 = mul nsw i32 %0, %0, !dbg !22 ; <i32> [#uses=2]
20 store i32 %1, i32* @i, align 4, !dbg !17
21 ret i32 %1, !dbg !23
22}
23
David Blaikied7e0de52013-03-08 00:23:31 +000024!llvm.dbg.cu = !{!2}
Devang Patel1d68d212010-06-30 00:11:08 +000025
David Blaikie72dfb052013-03-28 02:44:59 +000026!0 = metadata !{i32 786478, metadata !1, metadata !"foo", metadata !"foo", metadata !"", metadata !1, i32 9, metadata !3, i1 true, i1 true, i32 0, i32 0, null, i1 false, i1 true, null, null, null, metadata !24, i32 9} ; [ DW_TAG_subprogram ]
27!1 = metadata !{i32 786473, metadata !27} ; [ DW_TAG_file_type ]
David Blaikiec462db62013-04-22 06:12:31 +000028!2 = metadata !{i32 786449, i32 1, metadata !1, metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, metadata !"", i32 0, null, null, metadata !25, metadata !26, metadata !26, metadata !""} ; [ DW_TAG_compile_unit ]
David Blaikie72dfb052013-03-28 02:44:59 +000029!3 = metadata !{i32 786453, metadata !27, metadata !1, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_subroutine_type ]
Devang Patel1d68d212010-06-30 00:11:08 +000030!4 = metadata !{metadata !5, metadata !5}
David Blaikie72dfb052013-03-28 02:44:59 +000031!5 = metadata !{i32 786468, metadata !27, metadata !1, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
32!6 = metadata !{i32 786478, metadata !1, metadata !"bar", metadata !"bar", metadata !"bar", metadata !1, i32 14, metadata !7, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 true, i32 ()* @bar} ; [ DW_TAG_subprogram ]
33!7 = metadata !{i32 786453, metadata !27, metadata !1, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !8, i32 0, null} ; [ DW_TAG_subroutine_type ]
Devang Patel1d68d212010-06-30 00:11:08 +000034!8 = metadata !{metadata !5}
David Blaikied7e0de52013-03-08 00:23:31 +000035!9 = metadata !{i32 786689, metadata !0, metadata !"j", metadata !1, i32 9, metadata !5, i32 0, null} ; [ DW_TAG_arg_variable ]
36!10 = metadata !{i32 786688, metadata !11, metadata !"xyz", metadata !1, i32 10, metadata !12, i32 0, null} ; [ DW_TAG_auto_variable ]
David Blaikie72dfb052013-03-28 02:44:59 +000037!11 = metadata !{i32 786443, metadata !1, metadata !0, i32 9, i32 0, i32 0} ; [ DW_TAG_lexical_block ]
38!12 = metadata !{i32 786451, metadata !27, metadata !0, metadata !"X", i32 10, i64 64, i64 32, i64 0, i32 0, null, metadata !13, i32 0, null} ; [ DW_TAG_structure_type ]
Devang Patel1d68d212010-06-30 00:11:08 +000039!13 = metadata !{metadata !14, metadata !15}
David Blaikie72dfb052013-03-28 02:44:59 +000040!14 = metadata !{i32 786445, metadata !27, metadata !12, metadata !"a", i32 10, i64 32, i64 32, i64 0, i32 0, metadata !5} ; [ DW_TAG_member ]
41!15 = metadata !{i32 786445, metadata !27, metadata !12, metadata !"b", i32 10, i64 32, i64 32, i64 32, i32 0, metadata !5} ; [ DW_TAG_member ]
David Blaikied7e0de52013-03-08 00:23:31 +000042!16 = metadata !{i32 786484, i32 0, metadata !1, metadata !"i", metadata !"i", metadata !"", metadata !1, i32 5, metadata !5, i1 false, i1 true, i32* @i} ; [ DW_TAG_variable ]
Devang Patel1d68d212010-06-30 00:11:08 +000043!17 = metadata !{i32 15, i32 0, metadata !18, null}
David Blaikie72dfb052013-03-28 02:44:59 +000044!18 = metadata !{i32 786443, metadata !1, metadata !6, i32 14, i32 0, i32 1} ; [ DW_TAG_lexical_block ]
Devang Patel1d68d212010-06-30 00:11:08 +000045!19 = metadata !{i32 9, i32 0, metadata !0, metadata !17}
46!20 = metadata !{null}
47!21 = metadata !{i32 9, i32 0, metadata !11, metadata !17}
48!22 = metadata !{i32 11, i32 0, metadata !11, metadata !17}
49!23 = metadata !{i32 16, i32 0, metadata !18, null}
David Blaikief839eed2013-02-04 05:56:36 +000050!24 = metadata !{metadata !9, metadata !10}
David Blaikieb4cf0ab2013-03-17 21:13:55 +000051!25 = metadata !{metadata !0, metadata !6}
52!26 = metadata !{metadata !16}
53!27 = metadata !{metadata !"bar.c", metadata !"/tmp/"}