James Molloy | 439780e | 2011-09-26 17:40:42 +0000 | [diff] [blame] | 1 | ; RUN: llc -asm-verbose %s -o - | FileCheck %s |
| 2 | |
| 3 | ; ModuleID = 'test.c' |
| 4 | |
| 5 | @GLOBAL = common global i32 0, align 4 |
| 6 | |
| 7 | define i32 @f() nounwind { |
| 8 | %LOCAL = alloca i32, align 4 |
| 9 | call void @llvm.dbg.declare(metadata !{i32* %LOCAL}, metadata !15), !dbg !17 |
| 10 | %1 = load i32* @GLOBAL, align 4, !dbg !18 |
| 11 | store i32 %1, i32* %LOCAL, align 4, !dbg !18 |
| 12 | %2 = load i32* @GLOBAL, align 4, !dbg !19 |
| 13 | ret i32 %2, !dbg !19 |
| 14 | } |
| 15 | |
| 16 | declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone |
| 17 | |
| 18 | !llvm.dbg.cu = !{!0} |
| 19 | |
| 20 | !0 = metadata !{i32 720913, i32 0, i32 12, metadata !"test.c", metadata !"/work/llvm/vanilla/test/DebugInfo", metadata !"clang version 3.0 (trunk)", i1 true, i1 false, metadata !"", i32 0, metadata !1, metadata !1, metadata !3, metadata !12} ; [ DW_TAG_compile_unit ] |
| 21 | !1 = metadata !{metadata !2} |
| 22 | !2 = metadata !{i32 0} |
| 23 | !3 = metadata !{metadata !4} |
| 24 | !4 = metadata !{metadata !5} |
| 25 | !5 = metadata !{i32 720942, i32 0, metadata !6, metadata !"f", metadata !"f", metadata !"", metadata !6, i32 3, metadata !7, i1 false, i1 true, i32 0, i32 0, i32 0, i32 0, i1 false, i32 ()* @f, null, null, metadata !10} ; [ DW_TAG_subprogram ] |
| 26 | !6 = metadata !{i32 720937, metadata !"test.c", metadata !"/work/llvm/vanilla/test/DebugInfo", null} ; [ DW_TAG_file_type ] |
| 27 | !7 = metadata !{i32 720917, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !8, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] |
| 28 | !8 = metadata !{metadata !9} |
| 29 | !9 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] |
| 30 | !10 = metadata !{metadata !11} |
| 31 | !11 = metadata !{i32 720932} ; [ DW_TAG_base_type ] |
| 32 | !12 = metadata !{metadata !13} |
| 33 | !13 = metadata !{metadata !14} |
| 34 | !14 = metadata !{i32 720948, i32 0, null, metadata !"GLOBAL", metadata !"GLOBAL", metadata !"", metadata !6, i32 1, metadata !9, i32 0, i32 1, i32* @GLOBAL} ; [ DW_TAG_variable ] |
| 35 | !15 = metadata !{i32 721152, metadata !16, metadata !"LOCAL", metadata !6, i32 4, metadata !9, i32 0, i32 0} ; [ DW_TAG_auto_variable ] |
| 36 | !16 = metadata !{i32 720907, metadata !5, i32 3, i32 9, metadata !6, i32 0} ; [ DW_TAG_lexical_block ] |
| 37 | !17 = metadata !{i32 4, i32 9, metadata !16, null} |
| 38 | !18 = metadata !{i32 4, i32 23, metadata !16, null} |
| 39 | !19 = metadata !{i32 5, i32 5, metadata !16, null} |
| 40 | |
| 41 | ; CHECK: .ascii "GLOBAL" # DW_AT_name |
| 42 | ; CHECK: .byte 1 # DW_AT_decl_file |
| 43 | ; CHECK: .byte 1 # DW_AT_decl_line |
| 44 | |
| 45 | ; CHECK: .ascii "LOCAL" # DW_AT_name |
| 46 | ; CHECK: .byte 1 # DW_AT_decl_file |
| 47 | ; CHECK: .byte 4 # DW_AT_decl_line |