blob: f3a8bd7d14afc7d4659417e52e780e3405134797 [file] [log] [blame]
Manman Ren620e9782013-07-29 20:18:19 +00001; RUN: opt -simplifycfg -S < %s | FileCheck %s
Devang Patel197c3522011-04-07 17:27:36 +00002
3define i32 @foo(i32 %i) nounwind ssp {
Adrian Prantl87b7eb92014-10-01 18:55:02 +00004 call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !6, metadata !{}), !dbg !7
5 call void @llvm.dbg.value(metadata !8, i64 0, metadata !9, metadata !{}), !dbg !11
Devang Patel197c3522011-04-07 17:27:36 +00006 %1 = icmp ne i32 %i, 0, !dbg !12
7;CHECK: call i32 (...)* @bar()
8;CHECK-NEXT: llvm.dbg.value
9 br i1 %1, label %2, label %4, !dbg !12
10
11; <label>:2 ; preds = %0
12 %3 = call i32 (...)* @bar(), !dbg !13
Adrian Prantl87b7eb92014-10-01 18:55:02 +000013 call void @llvm.dbg.value(metadata !{i32 %3}, i64 0, metadata !9, metadata !{}), !dbg !13
Devang Patel197c3522011-04-07 17:27:36 +000014 br label %6, !dbg !15
15
16; <label>:4 ; preds = %0
17 %5 = call i32 (...)* @bar(), !dbg !16
Adrian Prantl87b7eb92014-10-01 18:55:02 +000018 call void @llvm.dbg.value(metadata !{i32 %5}, i64 0, metadata !9, metadata !{}), !dbg !16
Devang Patel197c3522011-04-07 17:27:36 +000019 br label %6, !dbg !18
20
21; <label>:6 ; preds = %4, %2
22 %k.0 = phi i32 [ %3, %2 ], [ %5, %4 ]
23 ret i32 %k.0, !dbg !19
24}
25
Adrian Prantl87b7eb92014-10-01 18:55:02 +000026declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
Devang Patel197c3522011-04-07 17:27:36 +000027
28declare i32 @bar(...)
29
Adrian Prantl87b7eb92014-10-01 18:55:02 +000030declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
Devang Patel197c3522011-04-07 17:27:36 +000031
Manman Rend664bd72013-11-23 01:16:29 +000032!llvm.module.flags = !{!21}
Devang Patel197c3522011-04-07 17:27:36 +000033!llvm.dbg.sp = !{!0}
34
Manman Rendeeafd82013-09-06 21:03:58 +000035!0 = metadata !{i32 589870, metadata !20, metadata !1, metadata !"foo", metadata !"foo", metadata !"", i32 2, metadata !3, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, i32 (i32)* @foo, null, null, null, i32 0} ; [ DW_TAG_subprogram ] [line 2] [def] [scope 0] [foo]
Manman Ren921382e2013-07-27 01:26:08 +000036!1 = metadata !{i32 589865, metadata !20} ; [ DW_TAG_file_type ]
37!2 = metadata !{i32 589841, metadata !20, i32 12, metadata !"clang", i1 true, metadata !"", i32 0, metadata !8, metadata !8, null, null, null, metadata !""} ; [ DW_TAG_compile_unit ]
Manman Rendeeafd82013-09-06 21:03:58 +000038!3 = metadata !{i32 589845, metadata !20, metadata !1, metadata !"", i32 0, i64 0, i64 0, i32 0, i32 0, null, metadata !4, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
Devang Patel197c3522011-04-07 17:27:36 +000039!4 = metadata !{metadata !5}
Manman Ren921382e2013-07-27 01:26:08 +000040!5 = metadata !{i32 589860, null, metadata !2, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
Devang Patel197c3522011-04-07 17:27:36 +000041!6 = metadata !{i32 590081, metadata !0, metadata !"i", metadata !1, i32 16777218, metadata !5, i32 0} ; [ DW_TAG_arg_variable ]
42!7 = metadata !{i32 2, i32 13, metadata !0, null}
43!8 = metadata !{i32 0}
44!9 = metadata !{i32 590080, metadata !10, metadata !"k", metadata !1, i32 3, metadata !5, i32 0} ; [ DW_TAG_auto_variable ]
Manman Ren921382e2013-07-27 01:26:08 +000045!10 = metadata !{i32 589835, metadata !20, metadata !0, i32 2, i32 16, i32 0} ; [ DW_TAG_lexical_block ]
Devang Patel197c3522011-04-07 17:27:36 +000046!11 = metadata !{i32 3, i32 12, metadata !10, null}
47!12 = metadata !{i32 4, i32 3, metadata !10, null}
48!13 = metadata !{i32 5, i32 5, metadata !14, null}
Manman Ren921382e2013-07-27 01:26:08 +000049!14 = metadata !{i32 589835, metadata !20, metadata !10, i32 4, i32 10, i32 1} ; [ DW_TAG_lexical_block ]
Devang Patel197c3522011-04-07 17:27:36 +000050!15 = metadata !{i32 6, i32 3, metadata !14, null}
51!16 = metadata !{i32 7, i32 5, metadata !17, null}
Manman Ren921382e2013-07-27 01:26:08 +000052!17 = metadata !{i32 589835, metadata !20, metadata !10, i32 6, i32 10, i32 2} ; [ DW_TAG_lexical_block ]
Devang Patel197c3522011-04-07 17:27:36 +000053!18 = metadata !{i32 8, i32 3, metadata !17, null}
54!19 = metadata !{i32 9, i32 3, metadata !10, null}
Manman Ren921382e2013-07-27 01:26:08 +000055!20 = metadata !{metadata !"b.c", metadata !"/private/tmp"}
Manman Rend664bd72013-11-23 01:16:29 +000056!21 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}