ba151cbb3643626174c5c3632a933a8f72d32e00
[oota-llvm.git] / test / CodeGen / X86 / dbg-merge-loc-entry.ll
1 ; RUN: llc < %s | FileCheck %s
2 ; RUN: llc < %s -regalloc=basic | FileCheck %s
3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
4 target triple = "x86_64-apple-darwin8"
5
6 ;CHECK: Ldebug_loc0:
7 ;CHECK-NEXT:    .quad   Lfunc_begin0
8 ;CHECK-NEXT:    .quad   L
9 ;CHECK-NEXT: Lset{{.*}} = Ltmp{{.*}}-Ltmp{{.*}}          ## Loc expr size
10 ;CHECK-NEXT:    .short  Lset
11 ;CHECK-NEXT: Ltmp
12 ;CHECK-NEXT:    .byte   85                      ## DW_OP_reg5
13 ;CHECK-NEXT: Ltmp
14 ;CHECK-NEXT:    .quad   0
15 ;CHECK-NEXT:    .quad   0
16
17 %0 = type { i64, i1 }
18
19 @__clz_tab = external constant [256 x i8]
20
21 define hidden i128 @__divti3(i128 %u, i128 %v) nounwind readnone {
22 entry:
23   tail call void @llvm.dbg.value(metadata !{i128 %u}, i64 0, metadata !14), !dbg !15
24   tail call void @llvm.dbg.value(metadata !16, i64 0, metadata !17), !dbg !21
25   br i1 undef, label %bb2, label %bb4, !dbg !22
26
27 bb2:                                              ; preds = %entry
28   br label %bb4, !dbg !23
29
30 bb4:                                              ; preds = %bb2, %entry
31   br i1 undef, label %__udivmodti4.exit, label %bb82.i, !dbg !24
32
33 bb82.i:                                           ; preds = %bb4
34   unreachable
35
36 __udivmodti4.exit:                                ; preds = %bb4
37   ret i128 undef, !dbg !27
38 }
39
40 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
41
42 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
43
44 declare %0 @llvm.uadd.with.overflow.i64(i64, i64) nounwind readnone
45
46 !llvm.dbg.cu = !{!2}
47
48 !0 = metadata !{i32 786478, metadata !1, null, metadata !"__udivmodti4", metadata !"__udivmodti4", metadata !"", metadata !1, i32 879, metadata !3, i1 true, i1 true, i32 0, i32 0, null, i32 256, i1 true, null, null, null, null, i32 879} ; [ DW_TAG_subprogram ]
49 !1 = metadata !{i32 786473, metadata !29, null} ; [ DW_TAG_file_type ]
50 !2 = metadata !{i32 786449, i32 1, null, metadata !1, metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, metadata !"", i32 0, null, null, metadata !28, null, metadata !""} ; [ DW_TAG_compile_unit ]
51 !3 = metadata !{i32 786453, metadata !29, null, metadata !1, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_subroutine_type ]
52 !4 = metadata !{metadata !5, metadata !5, metadata !5, metadata !8}
53 !5 = metadata !{i32 786454, metadata !30, null, metadata !6, metadata !"UTItype", i32 166, i64 0, i64 0, i64 0, i32 0, metadata !7} ; [ DW_TAG_typedef ]
54 !6 = metadata !{i32 786473, metadata !30, null} ; [ DW_TAG_file_type ]
55 !7 = metadata !{i32 786468, metadata !29, null, metadata !1, metadata !"", i32 0, i64 128, i64 128, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
56 !8 = metadata !{i32 786447, metadata !29, null, metadata !1, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 0, metadata !5} ; [ DW_TAG_pointer_type ]
57 !9 = metadata !{i32 786478, metadata !1, null, metadata !"__divti3", metadata !"__divti3", metadata !"__divti3", metadata !1, i32 1094, metadata !10, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i128 (i128, i128)* @__divti3, null, null, null, i32 1094} ; [ DW_TAG_subprogram ]
58 !10 = metadata !{i32 786453, metadata !29, null, metadata !1, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !11, i32 0, null} ; [ DW_TAG_subroutine_type ]
59 !11 = metadata !{metadata !12, metadata !12, metadata !12}
60 !12 = metadata !{i32 786454, metadata !30, null, metadata !6, metadata !"TItype", i32 160, i64 0, i64 0, i64 0, i32 0, metadata !13} ; [ DW_TAG_typedef ]
61 !13 = metadata !{i32 786468, metadata !29, null, metadata !1, metadata !"", i32 0, i64 128, i64 128, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
62 !14 = metadata !{i32 786689, metadata !9, metadata !"u", metadata !1, i32 1093, metadata !12, i32 0, null} ; [ DW_TAG_arg_variable ]
63 !15 = metadata !{i32 1093, i32 0, metadata !9, null}
64 !16 = metadata !{i64 0}
65 !17 = metadata !{i32 786688, metadata !18, metadata !"c", metadata !1, i32 1095, metadata !19, i32 0, null} ; [ DW_TAG_auto_variable ]
66 !18 = metadata !{i32 786443, metadata !1, null, metadata !9, i32 1094, i32 0, i32 13} ; [ DW_TAG_lexical_block ]
67 !19 = metadata !{i32 786454, metadata !30, null, metadata !6, metadata !"word_type", i32 424, i64 0, i64 0, i64 0, i32 0, metadata !20} ; [ DW_TAG_typedef ]
68 !20 = metadata !{i32 786468, metadata !29, null, metadata !1, metadata !"long int", i32 0, i64 64, i64 64, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
69 !21 = metadata !{i32 1095, i32 0, metadata !18, null}
70 !22 = metadata !{i32 1103, i32 0, metadata !18, null}
71 !23 = metadata !{i32 1104, i32 0, metadata !18, null}
72 !24 = metadata !{i32 1003, i32 0, metadata !25, metadata !26}
73 !25 = metadata !{i32 786443, metadata !1, null, metadata !0, i32 879, i32 0, i32 0} ; [ DW_TAG_lexical_block ]
74 !26 = metadata !{i32 1107, i32 0, metadata !18, null}
75 !27 = metadata !{i32 1111, i32 0, metadata !18, null}
76 !28 = metadata !{metadata !0, metadata !9}
77 !29 = metadata !{metadata !"foobar.c", metadata !"/tmp"}
78 !30 = metadata !{metadata !"foobar.h", metadata !"/tmp"}