blob: a84ad1b0634c3e49aeaf504b23173a2782c3a2e2 [file] [log] [blame]
Manman Rene8064c92013-07-24 18:56:43 +00001; RUN: llc %s -mtriple=i386-apple-macosx10.6.7 -o /dev/null
Rafael Espindolafa384e62011-06-17 14:16:17 +00002
3; This used to crash because early dup was not ignoring debug instructions.
4
5%struct.cpp_dir = type { %struct.cpp_dir*, i8*, i32, i8, i8**, i8*, i8* (i8*, %struct.cpp_dir*)*, i64, i32, i8 }
6
Adrian Prantl87b7eb92014-10-01 18:55:02 +00007declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
Rafael Espindolafa384e62011-06-17 14:16:17 +00008
9define internal i8* @framework_construct_pathname(i8* %fname, %struct.cpp_dir* %dir) nounwind ssp {
10entry:
11 br i1 undef, label %bb33, label %bb
12
13bb: ; preds = %entry
14 %tmp = icmp eq i32 undef, 0
15 %tmp1 = add i32 0, 11
Adrian Prantl87b7eb92014-10-01 18:55:02 +000016 call void @llvm.dbg.value(metadata !{i32 %tmp1}, i64 0, metadata !0, metadata !{i32 786690})
Rafael Espindolafa384e62011-06-17 14:16:17 +000017 br i1 undef, label %bb18, label %bb31.preheader
18
19bb31.preheader: ; preds = %bb19, %bb
20 %tmp2 = getelementptr inbounds i8* %fname, i32 0
21 br label %bb31
22
23bb18: ; preds = %bb
24 %tmp3 = icmp eq i32 undef, 0
25 br i1 %tmp3, label %bb19, label %bb33
26
27bb19: ; preds = %bb18
28 call void @foobar(i32 0)
29 br label %bb31.preheader
30
31bb22: ; preds = %bb31
32 %tmp4 = add i32 0, %tmp1
33 call void @foobar(i32 %tmp4)
34 br i1 undef, label %bb33, label %bb31
35
36bb31: ; preds = %bb22, %bb31.preheader
37 br i1 false, label %bb33, label %bb22
38
39bb33: ; preds = %bb31, %bb22, %bb18, %entry
40 ret i8* undef
41}
42
43declare void @foobar(i32)
44
Manman Rene9a52e12013-07-29 18:12:58 +000045!llvm.dbg.cu = !{!4}
Manman Ren409558f2013-11-22 21:49:45 +000046!llvm.module.flags = !{!47}
Rafael Espindolafa384e62011-06-17 14:16:17 +000047!0 = metadata !{i32 590080, metadata !1, metadata !"frname_len", metadata !3, i32 517, metadata !38, i32 0} ; [ DW_TAG_auto_variable ]
Manman Ren58737702013-07-25 19:33:30 +000048!1 = metadata !{i32 589835, metadata !44, metadata !2, i32 515, i32 0, i32 19} ; [ DW_TAG_lexical_block ]
49!2 = metadata !{i32 589870, metadata !44, null, metadata !"framework_construct_pathname", metadata !"framework_construct_pathname", metadata !"", i32 515, metadata !5, i1 true, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*, %struct.cpp_dir*)* @framework_construct_pathname, null, null, null, i32 0} ; [ DW_TAG_subprogram ]
50!3 = metadata !{i32 589865, metadata !44} ; [ DW_TAG_file_type ]
Manman Rene9a52e12013-07-29 18:12:58 +000051!4 = metadata !{i32 589841, metadata !44, i32 1, metadata !"4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", i1 true, metadata !"", i32 0, metadata !46, metadata !46, metadata !45, null, null, metadata !""} ; [ DW_TAG_compile_unit ]
Manman Ren0ed70ae2013-08-26 22:39:55 +000052!5 = metadata !{i32 589845, metadata !44, metadata !3, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !6, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
Rafael Espindolafa384e62011-06-17 14:16:17 +000053!6 = metadata !{metadata !7, metadata !9, metadata !11}
Manman Ren58737702013-07-25 19:33:30 +000054!7 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !8} ; [ DW_TAG_pointer_type ]
55!8 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"char", i32 0, i64 8, i64 8, i64 0, i32 0, i32 6} ; [ DW_TAG_base_type ]
56!9 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !10} ; [ DW_TAG_pointer_type ]
57!10 = metadata !{i32 589862, metadata !44, metadata !3, metadata !"", i32 0, i64 8, i64 8, i64 0, i32 0, metadata !8} ; [ DW_TAG_const_type ]
58!11 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !12} ; [ DW_TAG_pointer_type ]
Manman Rene8064c92013-07-24 18:56:43 +000059!12 = metadata !{i32 589846, metadata !41, metadata !13, metadata !"cpp_dir", i32 45, i64 0, i64 0, i64 0, i32 0, metadata !14} ; [ DW_TAG_typedef ]
Manman Ren58737702013-07-25 19:33:30 +000060!13 = metadata !{i32 589865, metadata !41} ; [ DW_TAG_file_type ]
Manman Ren0ed70ae2013-08-26 22:39:55 +000061!14 = metadata !{i32 589843, metadata !41, metadata !3, metadata !"cpp_dir", i32 43, i64 352, i64 32, i64 0, i32 0, null, metadata !15, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [cpp_dir] [line 43, size 352, align 32, offset 0] [def] [from ]
Rafael Espindolafa384e62011-06-17 14:16:17 +000062!15 = metadata !{metadata !16, metadata !18, metadata !19, metadata !21, metadata !23, metadata !25, metadata !27, metadata !29, metadata !33, metadata !36}
Manman Ren58737702013-07-25 19:33:30 +000063!16 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"next", i32 572, i64 32, i64 32, i64 0, i32 0, metadata !17} ; [ DW_TAG_member ]
64!17 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !14} ; [ DW_TAG_pointer_type ]
65!18 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"name", i32 575, i64 32, i64 32, i64 32, i32 0, metadata !7} ; [ DW_TAG_member ]
66!19 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"len", i32 576, i64 32, i64 32, i64 64, i32 0, metadata !20} ; [ DW_TAG_member ]
67!20 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"unsigned int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
68!21 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"sysp", i32 580, i64 8, i64 8, i64 96, i32 0, metadata !22} ; [ DW_TAG_member ]
69!22 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"unsigned char", i32 0, i64 8, i64 8, i64 0, i32 0, i32 8} ; [ DW_TAG_base_type ]
70!23 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"name_map", i32 584, i64 32, i64 32, i64 128, i32 0, metadata !24} ; [ DW_TAG_member ]
71!24 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !9} ; [ DW_TAG_pointer_type ]
72!25 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"header_map", i32 590, i64 32, i64 32, i64 160, i32 0, metadata !26} ; [ DW_TAG_member ]
73!26 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ]
74!27 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"construct", i32 597, i64 32, i64 32, i64 192, i32 0, metadata !28} ; [ DW_TAG_member ]
75!28 = metadata !{i32 589839, metadata !44, metadata !3, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !5} ; [ DW_TAG_pointer_type ]
76!29 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"ino", i32 601, i64 64, i64 64, i64 224, i32 0, metadata !30} ; [ DW_TAG_member ]
Manman Rene8064c92013-07-24 18:56:43 +000077!30 = metadata !{i32 589846, metadata !42, metadata !31, metadata !"ino_t", i32 141, i64 0, i64 0, i64 0, i32 0, metadata !32} ; [ DW_TAG_typedef ]
Manman Ren58737702013-07-25 19:33:30 +000078!31 = metadata !{i32 589865, metadata !42} ; [ DW_TAG_file_type ]
79!32 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"long long unsigned int", i32 0, i64 64, i64 64, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
80!33 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"dev", i32 602, i64 32, i64 32, i64 288, i32 0, metadata !34} ; [ DW_TAG_member ]
Manman Rene8064c92013-07-24 18:56:43 +000081!34 = metadata !{i32 589846, metadata !42, metadata !31, metadata !"dev_t", i32 107, i64 0, i64 0, i64 0, i32 0, metadata !35} ; [ DW_TAG_typedef ]
Manman Ren58737702013-07-25 19:33:30 +000082!35 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
83!36 = metadata !{i32 589837, metadata !41, metadata !14, metadata !"user_supplied_p", i32 605, i64 8, i64 8, i64 320, i32 0, metadata !37} ; [ DW_TAG_member ]
84!37 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"_Bool", i32 0, i64 8, i64 8, i64 0, i32 0, i32 2} ; [ DW_TAG_base_type ]
Manman Rene8064c92013-07-24 18:56:43 +000085!38 = metadata !{i32 589846, metadata !43, metadata !39, metadata !"size_t", i32 326, i64 0, i64 0, i64 0, i32 0, metadata !40} ; [ DW_TAG_typedef ]
86!39 = metadata !{i32 589865, metadata !43} ; [ DW_TAG_file_type ]
Manman Ren58737702013-07-25 19:33:30 +000087!40 = metadata !{i32 589860, metadata !44, metadata !3, metadata !"long unsigned int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ]
Manman Rene8064c92013-07-24 18:56:43 +000088!41 = metadata !{metadata !"cpplib.h", metadata !"/Users/espindola/llvm/build-llvm-gcc/gcc/../../llvm-gcc-4.2/gcc/../libcpp/include"}
89!42 = metadata !{metadata !"types.h", metadata !"/usr/include/sys"}
90!43 = metadata !{metadata !"stddef.h", metadata !"/Users/espindola/llvm/build-llvm-gcc/./prev-gcc/include"}
Manman Ren58737702013-07-25 19:33:30 +000091!44 = metadata !{metadata !"darwin-c.c", metadata !"/Users/espindola/llvm/build-llvm-gcc/gcc/../../llvm-gcc-4.2/gcc/config"}
92!45 = metadata !{metadata !2}
Manman Rene9a52e12013-07-29 18:12:58 +000093!46 = metadata !{i32 0}
Manman Ren409558f2013-11-22 21:49:45 +000094!47 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}