Revert "Revert "PR14606: debug info imported_module support""
[oota-llvm.git] / test / CodeGen / X86 / 2010-11-02-DbgParameter.ll
1 ; RUN: llc -O2 -asm-verbose < %s | FileCheck %s
2 ; Radar 8616981
3
4 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32"
5 target triple = "i386-apple-darwin11.0.0"
6
7 %struct.bar = type { i32, i32 }
8
9 define i32 @foo(%struct.bar* nocapture %i) nounwind readnone optsize noinline ssp {
10 ; CHECK: TAG_formal_parameter
11 entry:
12   tail call void @llvm.dbg.value(metadata !{%struct.bar* %i}, i64 0, metadata !6), !dbg !12
13   ret i32 1, !dbg !13
14 }
15
16 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
17
18 !llvm.dbg.cu = !{!2}
19
20 !0 = metadata !{i32 786478, metadata !1, metadata !"foo", metadata !"foo", metadata !"", metadata !1, i32 3, metadata !3, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i32 (%struct.bar*)* @foo, null, null, metadata !16, i32 3} ; [ DW_TAG_subprogram ]
21 !1 = metadata !{i32 786473, metadata !17} ; [ DW_TAG_file_type ]
22 !2 = metadata !{i32 786449, i32 12, metadata !1, metadata !"clang version 2.9 (trunk 117922)", i1 true, metadata !"", i32 0, null, null, metadata !15, null,  null, metadata !""} ; [ DW_TAG_compile_unit ]
23 !3 = metadata !{i32 786453, metadata !1, metadata !"", metadata !1, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_subroutine_type ]
24 !4 = metadata !{metadata !5}
25 !5 = metadata !{i32 786468, metadata !2, metadata !"int", metadata !1, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
26 !6 = metadata !{i32 786689, metadata !0, metadata !"i", metadata !1, i32 3, metadata !7, i32 0, null} ; [ DW_TAG_arg_variable ]
27 !7 = metadata !{i32 786447, metadata !1, metadata !"", metadata !1, i32 0, i64 32, i64 32, i64 0, i32 0, metadata !8} ; [ DW_TAG_pointer_type ]
28 !8 = metadata !{i32 786451, metadata !1, metadata !"bar", metadata !1, i32 2, i64 64, i64 32, i64 0, i32 0, null, metadata !9, i32 0, null} ; [ DW_TAG_structure_type ]
29 !9 = metadata !{metadata !10, metadata !11}
30 !10 = metadata !{i32 786445, metadata !1, metadata !"x", metadata !1, i32 2, i64 32, i64 32, i64 0, i32 0, metadata !5} ; [ DW_TAG_member ]
31 !11 = metadata !{i32 786445, metadata !1, metadata !"y", metadata !1, i32 2, i64 32, i64 32, i64 32, i32 0, metadata !5} ; [ DW_TAG_member ]
32 !12 = metadata !{i32 3, i32 47, metadata !0, null}
33 !13 = metadata !{i32 4, i32 2, metadata !14, null}
34 !14 = metadata !{i32 786443, metadata !0, i32 3, i32 50, metadata !1, i32 0} ; [ DW_TAG_lexical_block ]
35 !15 = metadata !{metadata !0}
36 !16 = metadata !{metadata !6}
37 !17 = metadata !{metadata !"one.c", metadata !"/private/tmp"}