diff options
Diffstat (limited to 'test/CodeGen/X86/personality.ll')
-rw-r--r-- | test/CodeGen/X86/personality.ll | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/test/CodeGen/X86/personality.ll b/test/CodeGen/X86/personality.ll index e952a9b..d3d8e3f 100644 --- a/test/CodeGen/X86/personality.ll +++ b/test/CodeGen/X86/personality.ll @@ -4,40 +4,41 @@ define void @_Z1fv() { entry: - invoke void @_Z1gv( ) - to label %return unwind label %unwind + invoke void @_Z1gv() + to label %return unwind label %unwind -unwind: ; preds = %entry - br i1 false, label %eh_then, label %cleanup20 +unwind: ; preds = %entry + br i1 false, label %eh_then, label %cleanup20 -eh_then: ; preds = %unwind - invoke void @__cxa_end_catch( ) - to label %return unwind label %unwind10 +eh_then: ; preds = %unwind + invoke void @__cxa_end_catch() + to label %return unwind label %unwind10 -unwind10: ; preds = %eh_then - %eh_select13 = tail call i64 (i8*, i8*, ...)* @llvm.eh.selector.i64( i8* null, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i32 1 ) ; <i32> [#uses=2] - %tmp18 = icmp slt i64 %eh_select13, 0 ; <i1> [#uses=1] - br i1 %tmp18, label %filter, label %cleanup20 +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) + %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 -filter: ; preds = %unwind10 - unreachable +filter: ; preds = %unwind10 + unreachable -cleanup20: ; preds = %unwind10, %unwind - %eh_selector.0 = phi i64 [ 0, %unwind ], [ %eh_select13, %unwind10 ] ; <i32> [#uses=0] - ret void +cleanup20: ; preds = %unwind10, %unwind + %eh_selector.0 = phi i64 [ 0, %unwind ], [ %upgraded.eh_select131, %unwind10 ] + ret void -return: ; preds = %eh_then, %entry - ret void +return: ; preds = %eh_then, %entry + ret void } declare void @_Z1gv() -declare i64 @llvm.eh.selector.i64(i8*, i8*, ...) - declare void @__gxx_personality_v0() declare void @__cxa_end_catch() +declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind + ; X64: zPLR ; X64: .byte 155 ; X64-NEXT: .long ___gxx_personality_v0@GOTPCREL+4 |