Update more tests to the new EH scheme.

llvm-svn: 138903
This commit is contained in:
Bill Wendling 2011-08-31 21:39:05 +00:00
parent 293c31b81c
commit d4e871404d
17 changed files with 114 additions and 2 deletions

View File

@ -11,5 +11,9 @@ entry:
to label %return unwind label %return
return: ; preds = %entry, %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret void
}
declare i32 @__gxx_personality_v0(...)

View File

@ -151,8 +151,12 @@ bb7819: ; preds = %bb3314
bb7834: ; preds = %bb7806, %invcont5831
br label %bb3261
lpad: ; preds = %bb7806, %bb5968, %invcont5814, %bb440.i8663, %bb155.i8541, %bb5657, %bb3306
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret void
lpad8185: ; preds = %invcont5831
%exn8185 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret void
}
@ -169,3 +173,5 @@ declare %struct.wxStringBase* @_ZN12wxStringBase6appendEmw(%struct.wxStringBase*
declare %struct.wxStringBase* @_ZN12wxStringBaseaSEPKw(%struct.wxStringBase*, i32*)
declare void @_ZN8wxString6FormatEPKwz(%struct.wxString* noalias sret , i32*, ...)
declare i32 @__gxx_personality_v0(...)

View File

@ -23,8 +23,12 @@ tmp12.i.i.i.i.i.noexc65: ; preds = %bb37
unreachable
lpad243: ; preds = %bb37
%eh_ptr244 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
%eh_ptr244 = extractvalue { i8*, i32 } %exn, 0
store i32 (...)** getelementptr ([5 x i32 (...)*]* @_ZTVN10Evaluation10GridOutputILi3EEE, i32 0, i32 2), i32 (...)*** null, align 8
%tmp133 = call i8* @__cxa_begin_catch( i8* %eh_ptr244 ) nounwind ; <i8*> [#uses=0]
unreachable
}
declare i32 @__gxx_personality_v0(...)

View File

@ -24,9 +24,13 @@ cont2: ; preds = %cont
lpad: ; preds = %cont, %entry
%y = phi i32 [ %a, %entry ], [ %aa, %cont ] ; <i32> [#uses=1]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 %y
}
; CHECK: call{{.*}}f
; CHECK: movl %eax, %esi
; CHECK: call{{.*}}g
declare i32 @__gxx_personality_v0(...)

View File

@ -17,8 +17,12 @@ cont2: ; preds = %cont
lpad: ; preds = %cont, %entry
%v = phi i32 [ %x, %entry ], [ %a, %cont ] ; <i32> [#uses=1]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 %v
}
; CHECK: lpad
; CHECK-NEXT: Ltmp
declare i32 @__gxx_personality_v0(...)

View File

@ -34,6 +34,8 @@ invcont2: ; preds = %invcont1
ret i32 0
lpad: ; preds = %invcont1, %invcont, %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
%8 = call i32 @vm_deallocate(i32 undef, i64 0, i64 %0) ; <i32> [#uses=0]
unreachable
}
@ -45,3 +47,5 @@ declare i8* @pluginInstance(i8*, i32)
declare zeroext i8 @invoke(i8*, i32, i8*, i64, i32, i64*, i32*)
declare void @booleanAndDataReply(i32, i32, i32, i32, i64, i32)
declare i32 @__gxx_personality_v0(...)

View File

@ -46,6 +46,8 @@ bb1.i5: ; preds = %bb.i1
lpad: ; preds = %bb1.i.fragment.cl, %bb1.i.fragment, %bb5
%.SV10.phi807 = phi i8* [ undef, %bb1.i.fragment.cl ], [ undef, %bb1.i.fragment ], [ undef, %bb5 ] ; <i8*> [#uses=1]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
%1 = load i8* %.SV10.phi807, align 8 ; <i8> [#uses=0]
br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp
@ -114,3 +116,5 @@ meshBB81.bbcl.disp: ; preds = %meshBB81.cl141, %me
i8 51, label %meshBB81.cl141
]
}
declare i32 @__gxx_personality_v0(...)

View File

@ -60,5 +60,9 @@ bb92: ; preds = %entry
unreachable
lpad159: ; preds = %bb58
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare i32 @__gxx_personality_v0(...)

View File

@ -16,7 +16,11 @@ invoke.cont: ; preds = %entry
ret void
lpad: ; preds = %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare void @_zed() ssp align 2
declare i32 @__gxx_personality_v0(...)

View File

@ -26,5 +26,9 @@ true:
return:
ret void
unw:
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare i32 @__gxx_personality_v0(...)

View File

@ -104,6 +104,8 @@ invoke.cont16: ; preds = %if.then14
unreachable
lpad: ; preds = %if.end19, %if.then14, %if.end, %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare i8* @_ZNK18G__FastAllocString4dataEv() nounwind
@ -134,3 +136,4 @@ F:
ret i32 4
}
declare i32 @__gxx_personality_v0(...)

View File

@ -8,6 +8,8 @@ entry:
to label %return unwind label %unwind
unwind: ; preds = %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
br i1 false, label %eh_then, label %cleanup20
eh_then: ; preds = %unwind
@ -15,7 +17,9 @@ eh_then: ; preds = %unwind
to label %return unwind label %unwind10
unwind10: ; preds = %eh_then
%upgraded.eh_select13 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* null, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i32 1)
%exn10 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
filter
%upgraded.eh_select13 = extractvalue { i8*, i32 } %exn10, 1
%upgraded.eh_select131 = sext i32 %upgraded.eh_select13 to i64
%tmp18 = icmp slt i64 %upgraded.eh_select131, 0
br i1 %tmp18, label %filter, label %cleanup20
@ -39,6 +43,8 @@ declare void @__cxa_end_catch()
declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
declare i32 @__gxx_personality_v0(...)
; X64: zPLR
; X64: .byte 155
; X64-NEXT: .long ___gxx_personality_v0@GOTPCREL+4

View File

@ -21,6 +21,8 @@ return: ; preds = %lpad
ret void
lpad: ; preds = %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
%2 = icmp eq i8 %1, 90 ; <i1> [#uses=1]
br i1 %2, label %return, label %bb22
}
@ -28,3 +30,5 @@ lpad: ; preds = %entry
declare void @__gnat_rcheck_12(i8*, i32) noreturn
declare i32 @report__ident_int(i32)
declare i32 @__gxx_personality_v0(...)

View File

@ -149,6 +149,8 @@ bb71.i: ; preds = %bb.i.i.i262.i, %bb66.i
to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i ; <i8*> [#uses=0]
lpad.i.i.i.i.i.i: ; preds = %bb71.i
%exn.i.i.i.i.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i: ; preds = %bb71.i
@ -162,6 +164,8 @@ _ZNSt6vectorIjSaIjEED1Ev.exit.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRK
to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i unwind label %lpad.i.i.i.i8.i.i ; <i8*> [#uses=0]
lpad.i.i.i.i8.i.i: ; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
%exn.i.i.i.i8.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
invoke void @_Unwind_Resume(i8* undef)
to label %.noexc.i9.i.i unwind label %lpad.i19.i.i
@ -179,6 +183,8 @@ bb50.i.i.i: ; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2Em
to label %bb83.i unwind label %lpad188.i
lpad.i19.i.i: ; preds = %lpad.i.i.i.i8.i.i
%exn.i19.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
bb83.i: ; preds = %bb50.i.i.i
@ -192,6 +198,8 @@ invcont84.i: ; preds = %bb83.i
to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i unwind label %lpad.i.i.i.i315.i ; <i8*> [#uses=0]
lpad.i.i.i.i315.i: ; preds = %invcont84.i
%exn.i.i.i.i315.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
invoke void @_Unwind_Resume(i8* undef)
to label %.noexc.i316.i unwind label %lpad.i352.i
@ -209,6 +217,8 @@ bb50.i.i: ; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmR
to label %invcont86.i unwind label %lpad200.i
lpad.i352.i: ; preds = %lpad.i.i.i.i315.i
%exn.i352.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
invcont86.i: ; preds = %bb50.i.i
@ -232,6 +242,8 @@ invcont101.i: ; preds = %bb100.i
to label %_ZN10FullMatrixIdEC1Ejj.exit.i.i unwind label %lpad.i.i.i.i.i
lpad.i.i.i.i.i: ; preds = %invcont101.i
%exn.i.i.i.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
_ZN10FullMatrixIdEC1Ejj.exit.i.i: ; preds = %invcont101.i
@ -239,6 +251,8 @@ _ZN10FullMatrixIdEC1Ejj.exit.i.i: ; preds = %invcont101.i
to label %_ZN10FullMatrixIdEC1Ejj.exit28.i.i unwind label %lpad.i.i.i27.i.i
lpad.i.i.i27.i.i: ; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
%exn.i.i.i27.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
invoke void @_Unwind_Resume(i8* undef)
to label %.noexc.i.i unwind label %lpad.i.i
@ -258,6 +272,8 @@ bb.i.i.i297.i.i: ; preds = %bb58.i.i
unreachable
lpad.i.i: ; preds = %lpad.i.i.i27.i.i
%exn.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
bb.i191.i: ; preds = %.noexc232.i, %bb58.i.i
@ -296,43 +312,71 @@ bb29.loopexit.i.i: ; preds = %.noexc232.i
br label %bb9.i216.i
lpad.i: ; preds = %entry
%exn.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad120.i: ; preds = %invcont.i
%exn120.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad124.i: ; preds = %invcont1.i
%exn124.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad128.i: ; preds = %invcont3.i
%exn128.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad132.i: ; preds = %invcont4.i
%exn132.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad136.i: ; preds = %invcont6.i
%exn136.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad140.i: ; preds = %bb21.i, %invcont7.i
%exn140.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad144.i: ; preds = %bb10.i168.i, %invcont9.i
%exn144.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad148.i: ; preds = %invcont10.i
%exn148.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad188.i: ; preds = %bb50.i.i.i
%exn188.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad196.i: ; preds = %bb.i191.i
%exn196 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad200.i: ; preds = %bb50.i.i
%exn200.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad204.i: ; preds = %invcont86.i
%exn204.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias nocapture sret, i32)
declare i32 @__gxx_personality_v0(...)

View File

@ -28,7 +28,11 @@ invcont27: ; preds = %invcont26
lpad: ; preds = %invcont26, %invcont, %entry
%pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ] ; <%struct.NSAutoreleasePool*> [#uses=0]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...)
declare i32 @__gxx_personality_v0(...)

View File

@ -605,6 +605,8 @@ Unwind20.fragment: ; preds = %bb_main
br label %UnifiedUnreachableBlock
meshBB: ; preds = %nofilter.fragment, %bb_main
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
br label %bb_main
meshBB.unwinddest: ; No predecessors!
@ -779,6 +781,8 @@ meshBB324: ; preds = %bb_main
br label %bb_main
meshBB325: ; preds = %entry.fragment.fragment, %bb_main
%exn325 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
br label %bb_main
meshBB325.unwinddest: ; No predecessors!
@ -890,3 +894,5 @@ UnifiedUnreachableBlock: ; preds = %Unwind20.fragment, %filter87, %filter75, %f
UnifiedReturnBlock: ; preds = %invcont70.normaldest, %invcont15.normaldest
ret void
}
declare i32 @__gxx_personality_v0(...)

View File

@ -18,10 +18,13 @@ bb15:
ret i32 %B
lpad86:
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
br label %bb15
}
declare i32 @__gxx_personality_v0(...)
define i32 @test2() {