[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / Generic / 2009-11-16-BadKillsCrash.ll
blobfeec0966feb45e12b215ca092cbe3d684c08fb2c
1 ; RUN: llc < %s
2 ; PR5495
4 %"struct.std::__ctype_abstract_base<wchar_t>" = type { %"struct.std::locale::facet" }
5 %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
6 %"struct.std::basic_istream<char,std::char_traits<char> >" = type { ptr, i32, %"struct.std::basic_ios<char,std::char_traits<char> >" }
7 %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { ptr, %"struct.std::basic_ios<char,std::char_traits<char> >" }
8 %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"struct.std::locale" }
9 %"struct.std::ctype<char>" = type { %"struct.std::locale::facet", ptr, i8, ptr, ptr, ptr, i8, [256 x i8], [256 x i8], i8 }
10 %"struct.std::ios_base" = type { ptr, i32, i32, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"struct.std::locale" }
11 %"struct.std::ios_base::_Callback_list" = type { ptr, ptr, i32, i32 }
12 %"struct.std::ios_base::_Words" = type { ptr, i32 }
13 %"struct.std::locale" = type { ptr }
14 %"struct.std::locale::_Impl" = type { i32, ptr, i32, ptr, ptr }
15 %"struct.std::locale::facet" = type { ptr, i32 }
16 %union..0._15 = type { i32 }
18 declare ptr @__cxa_begin_catch(ptr) nounwind
20 declare ptr @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(ptr)
22 define ptr @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_(ptr %__in, ptr nocapture %__s) personality ptr @__gxx_personality_v0 {
23 entry:
24   %0 = invoke ptr @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(ptr undef)
25           to label %invcont8 unwind label %lpad74 ; <ptr> [#uses=0]
27 invcont8:                                         ; preds = %entry
28   %1 = invoke i32 undef(ptr undef)
29           to label %bb26.preheader unwind label %lpad ; <i32> [#uses=0]
31 bb26.preheader:                                   ; preds = %invcont8
32   br label %invcont38
34 bb1.i100:                                         ; preds = %invcont38
35   %2 = add nsw i32 1, %__extracted.0  ; <i32> [#uses=3]
36   br i1 undef, label %bb.i97, label %bb1.i
38 bb.i97:                                           ; preds = %bb1.i100
39   br label %invcont38
41 bb1.i:                                            ; preds = %bb1.i100
42   %3 = invoke i32 undef(ptr undef)
43           to label %invcont38 unwind label %lpad ; <i32> [#uses=0]
45 invcont24:                                        ; preds = %invcont38
46   %4 = invoke i32 undef(ptr undef)
47           to label %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i unwind label %lpad ; <i32> [#uses=0]
49 _ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i: ; preds = %invcont24
50   br i1 undef, label %invcont25, label %bb.i93
52 bb.i93:                                           ; preds = %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i
53   %5 = invoke i32 undef(ptr undef)
54           to label %invcont25 unwind label %lpad ; <i32> [#uses=0]
56 invcont25:                                        ; preds = %bb.i93, %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i
57   br label %invcont38
59 invcont38:                                        ; preds = %invcont25, %bb1.i, %bb.i97, %bb26.preheader
60   %__extracted.0 = phi i32 [ 0, %bb26.preheader ], [ undef, %invcont25 ], [ %2, %bb.i97 ], [ %2, %bb1.i ] ; <i32> [#uses=1]
61   br i1 false, label %bb1.i100, label %invcont24
63 lpad:                                             ; preds = %bb.i93, %invcont24, %bb1.i, %invcont8
64   %__extracted.1 = phi i32 [ 0, %invcont8 ], [ %2, %bb1.i ], [ undef, %bb.i93 ], [ undef, %invcont24 ] ; <i32> [#uses=0]
65   %lpad1 = landingpad { ptr, i32 }
66             catch ptr null
67   %eh_ptr = extractvalue { ptr, i32 } %lpad1, 0
68   %6 = call ptr @__cxa_begin_catch(ptr %eh_ptr) nounwind ; <ptr> [#uses=0]
69   unreachable
71 lpad74:                                           ; preds = %entry
72   %lpad2 = landingpad { ptr, i32 }
73             cleanup
74   unreachable
77 declare i32 @__gxx_personality_v0(...) addrspace(0)