Manman Ren | 620e978 | 2013-07-29 20:18:19 +0000 | [diff] [blame] | 1 | ; RUN: opt -simplifycfg -S < %s | FileCheck %s |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 2 | |
| 3 | define i32 @foo(i32 %i) nounwind ssp { |
Adrian Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame^] | 4 | 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 Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 6 | %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 Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame^] | 13 | call void @llvm.dbg.value(metadata !{i32 %3}, i64 0, metadata !9, metadata !{}), !dbg !13 |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 14 | br label %6, !dbg !15 |
| 15 | |
| 16 | ; <label>:4 ; preds = %0 |
| 17 | %5 = call i32 (...)* @bar(), !dbg !16 |
Adrian Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame^] | 18 | call void @llvm.dbg.value(metadata !{i32 %5}, i64 0, metadata !9, metadata !{}), !dbg !16 |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 19 | 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 Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame^] | 26 | declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 27 | |
| 28 | declare i32 @bar(...) |
| 29 | |
Adrian Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame^] | 30 | declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 31 | |
Manman Ren | d664bd7 | 2013-11-23 01:16:29 +0000 | [diff] [blame] | 32 | !llvm.module.flags = !{!21} |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 33 | !llvm.dbg.sp = !{!0} |
| 34 | |
Manman Ren | deeafd8 | 2013-09-06 21:03:58 +0000 | [diff] [blame] | 35 | !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 Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 36 | !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 Ren | deeafd8 | 2013-09-06 21:03:58 +0000 | [diff] [blame] | 38 | !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 Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 39 | !4 = metadata !{metadata !5} |
Manman Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 40 | !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 Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 41 | !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 Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 45 | !10 = metadata !{i32 589835, metadata !20, metadata !0, i32 2, i32 16, i32 0} ; [ DW_TAG_lexical_block ] |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 46 | !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 Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 49 | !14 = metadata !{i32 589835, metadata !20, metadata !10, i32 4, i32 10, i32 1} ; [ DW_TAG_lexical_block ] |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 50 | !15 = metadata !{i32 6, i32 3, metadata !14, null} |
| 51 | !16 = metadata !{i32 7, i32 5, metadata !17, null} |
Manman Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 52 | !17 = metadata !{i32 589835, metadata !20, metadata !10, i32 6, i32 10, i32 2} ; [ DW_TAG_lexical_block ] |
Devang Patel | 197c352 | 2011-04-07 17:27:36 +0000 | [diff] [blame] | 53 | !18 = metadata !{i32 8, i32 3, metadata !17, null} |
| 54 | !19 = metadata !{i32 9, i32 3, metadata !10, null} |
Manman Ren | 921382e | 2013-07-27 01:26:08 +0000 | [diff] [blame] | 55 | !20 = metadata !{metadata !"b.c", metadata !"/private/tmp"} |
Manman Ren | d664bd7 | 2013-11-23 01:16:29 +0000 | [diff] [blame] | 56 | !21 = metadata !{i32 1, metadata !"Debug Info Version", i32 1} |