Devang Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 1 | ; 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 Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 5 | ; CHECK-NEXT: DW_AT_name |
| 6 | |
| 7 | |
| 8 | @i = common global i32 0 ; <i32*> [#uses=2] |
| 9 | |
| 10 | declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone |
| 11 | |
| 12 | declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone |
| 13 | |
| 14 | define i32 @bar() nounwind ssp { |
| 15 | entry: |
| 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 Blaikie | d7e0de5 | 2013-03-08 00:23:31 +0000 | [diff] [blame] | 24 | !llvm.dbg.cu = !{!2} |
Devang Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 25 | |
David Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 26 | !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 Blaikie | c462db6 | 2013-04-22 06:12:31 +0000 | [diff] [blame] | 28 | !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 Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 29 | !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 Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 30 | !4 = metadata !{metadata !5, metadata !5} |
David Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 31 | !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 Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 34 | !8 = metadata !{metadata !5} |
David Blaikie | d7e0de5 | 2013-03-08 00:23:31 +0000 | [diff] [blame] | 35 | !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 Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 37 | !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 Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 39 | !13 = metadata !{metadata !14, metadata !15} |
David Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 40 | !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 Blaikie | d7e0de5 | 2013-03-08 00:23:31 +0000 | [diff] [blame] | 42 | !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 Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 43 | !17 = metadata !{i32 15, i32 0, metadata !18, null} |
David Blaikie | 72dfb05 | 2013-03-28 02:44:59 +0000 | [diff] [blame] | 44 | !18 = metadata !{i32 786443, metadata !1, metadata !6, i32 14, i32 0, i32 1} ; [ DW_TAG_lexical_block ] |
Devang Patel | 1d68d21 | 2010-06-30 00:11:08 +0000 | [diff] [blame] | 45 | !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 Blaikie | f839eed | 2013-02-04 05:56:36 +0000 | [diff] [blame] | 50 | !24 = metadata !{metadata !9, metadata !10} |
David Blaikie | b4cf0ab | 2013-03-17 21:13:55 +0000 | [diff] [blame] | 51 | !25 = metadata !{metadata !0, metadata !6} |
| 52 | !26 = metadata !{metadata !16} |
| 53 | !27 = metadata !{metadata !"bar.c", metadata !"/tmp/"} |