llvm.org GIT mirror llvm / 0d6dd49
Added a testcase for PR5495. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88946 91177308-0d34-0410-b5e6-96231b3b80d8 Lang Hames 10 years ago
1 changed file(s) with 75 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: llc < %s
1 ; PR5495
2 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
3 target triple = "i386-pc-linux-gnu"
4
5 %"struct.std::__ctype_abstract_base" = type { %"struct.std::locale::facet" }
6 %"struct.std::basic_ios >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream >"*, i8, i8, %"struct.std::basic_streambuf >"*, %"struct.std::ctype"*, %"struct.std::__ctype_abstract_base"*, %"struct.std::__ctype_abstract_base"* }
7 %"struct.std::basic_istream >" = type { i32 (...)**, i32, %"struct.std::basic_ios >" }
8 %"struct.std::basic_ostream >" = type { i32 (...)**, %"struct.std::basic_ios >" }
9 %"struct.std::basic_streambuf >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
10 %"struct.std::ctype" = type { %"struct.std::locale::facet", i32*, i8, i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8 }
11 %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" }
12 %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
13 %"struct.std::ios_base::_Words" = type { i8*, i32 }
14 %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
15 %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
16 %"struct.std::locale::facet" = type { i32 (...)**, i32 }
17 %union..0._15 = type { i32 }
18
19 declare i8* @llvm.eh.exception() nounwind readonly
20
21 declare i8* @__cxa_begin_catch(i8*) nounwind
22
23 declare %"struct.std::ctype"* @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(%"struct.std::locale"*)
24
25 define %"struct.std::basic_istream >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_(%"struct.std::basic_istream >"* %__in, i8* nocapture %__s) {
26 entry:
27 %0 = invoke %"struct.std::ctype"* @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(%"struct.std::locale"* undef)
28 to label %invcont8 unwind label %lpad74 ; <%"struct.std::ctype"*> [#uses=0]
29
30 invcont8: ; preds = %entry
31 %1 = invoke i32 undef(%"struct.std::basic_streambuf >"* undef)
32 to label %bb26.preheader unwind label %lpad ; [#uses=0]
33
34 bb26.preheader: ; preds = %invcont8
35 br label %invcont38
36
37 bb1.i100: ; preds = %invcont38
38 %2 = add nsw i32 1, %__extracted.0 ; [#uses=3]
39 br i1 undef, label %bb.i97, label %bb1.i
40
41 bb.i97: ; preds = %bb1.i100
42 br label %invcont38
43
44 bb1.i: ; preds = %bb1.i100
45 %3 = invoke i32 undef(%"struct.std::basic_streambuf >"* undef)
46 to label %invcont38 unwind label %lpad ; [#uses=0]
47
48 invcont24: ; preds = %invcont38
49 %4 = invoke i32 undef(%"struct.std::basic_streambuf >"* undef)
50 to label %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i unwind label %lpad ; [#uses=0]
51
52 _ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i: ; preds = %invcont24
53 br i1 undef, label %invcont25, label %bb.i93
54
55 bb.i93: ; preds = %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i
56 %5 = invoke i32 undef(%"struct.std::basic_streambuf >"* undef)
57 to label %invcont25 unwind label %lpad ; [#uses=0]
58
59 invcont25: ; preds = %bb.i93, %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i
60 br label %invcont38
61
62 invcont38: ; preds = %invcont25, %bb1.i, %bb.i97, %bb26.preheader
63 %__extracted.0 = phi i32 [ 0, %bb26.preheader ], [ undef, %invcont25 ], [ %2, %bb.i97 ], [ %2, %bb1.i ] ; [#uses=1]
64 br i1 false, label %bb1.i100, label %invcont24
65
66 lpad: ; preds = %bb.i93, %invcont24, %bb1.i, %invcont8
67 %__extracted.1 = phi i32 [ 0, %invcont8 ], [ %2, %bb1.i ], [ undef, %bb.i93 ], [ undef, %invcont24 ] ; [#uses=0]
68 %eh_ptr = call i8* @llvm.eh.exception() ; [#uses=1]
69 %6 = call i8* @__cxa_begin_catch(i8* %eh_ptr) nounwind ; [#uses=0]
70 unreachable
71
72 lpad74: ; preds = %entry
73 unreachable
74 }