diff --git a/llvm/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll b/llvm/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll index 38994519cea4..62a7594ba437 100644 --- a/llvm/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll +++ b/llvm/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll @@ -5,7 +5,7 @@ ; exists. define internal void @Callee1() { - unwind + unreachable } define void @Callee2() { diff --git a/llvm/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll b/llvm/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll index 733cbb9c754f..866327f64a8f 100644 --- a/llvm/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll +++ b/llvm/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -inline -disable-output define i32 @test() { - unwind + unreachable } define i32 @caller() { diff --git a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll index 37cba9801caa..b4380d01e483 100644 --- a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll +++ b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll @@ -114,7 +114,7 @@ entry: define fastcc void @_ZSt19__throw_ios_failurePKc() { entry: call fastcc void @_ZNSsC1EPKcRKSaIcE( ) - unwind + unreachable } define void @_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() { @@ -133,10 +133,12 @@ entry: to label %try_exit.0 unwind label %try_catch.0 try_catch.0: ; preds = %entry - unreachable + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null + resume { i8*, i32 } %exn try_exit.0: ; preds = %entry - unwind + unreachable } define fastcc void @_ZNSt11logic_errorC1ERKSs() { @@ -153,7 +155,7 @@ entry: define fastcc void @_ZSt20__throw_length_errorPKc() { entry: call fastcc void @_ZNSt12length_errorC1ERKSs( ) - unwind + unreachable } define fastcc void @_ZNSt12length_errorC1ERKSs() { @@ -162,7 +164,9 @@ entry: to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i invoke_catch.i: ; preds = %entry - unwind + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null + resume { i8*, i32 } %exn _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry ret void @@ -199,8 +203,10 @@ entry: to label %invoke_cont.1 unwind label %invoke_catch.1 invoke_catch.1: ; preds = %entry + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null call fastcc void @_ZNSaIcED1Ev( ) - unwind + resume { i8*, i32 } %exn invoke_cont.1: ; preds = %entry call fastcc void @_ZNSaIcEC2ERKS_( ) @@ -243,3 +249,5 @@ define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() { entry: unreachable } + +declare i32 @__gxx_personality_v0(...) diff --git a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll index 279823a4b281..b754d9f9f5d9 100644 --- a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll +++ b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll @@ -155,7 +155,7 @@ endif.0: ; preds = %entry define fastcc void @_ZSt20__throw_length_errorPKc() { entry: call fastcc void @_ZNSt12length_errorC1ERKSs( ) - unwind + ret void } define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { @@ -178,8 +178,10 @@ entry: to label %invoke_cont.1 unwind label %invoke_catch.1 invoke_catch.1: ; preds = %entry + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null call fastcc void @_ZNSaIcED1Ev( ) - unwind + resume { i8*, i32 } %exn invoke_cont.1: ; preds = %entry call fastcc void @_ZNSaIcEC2ERKS_( ) @@ -306,7 +308,9 @@ entry: to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i invoke_catch.i: ; preds = %entry - unwind + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null + resume { i8*, i32 } %exn _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry ret void @@ -336,3 +340,5 @@ define fastcc void @_ZNSt5ctypeIcEC1EPKtbj() { entry: ret void } + +declare i32 @__gxx_personality_v0(...) diff --git a/llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll b/llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll index 73faa952fba9..ed7ff8287f20 100644 --- a/llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll +++ b/llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll @@ -12,21 +12,9 @@ define i32 @test1() { to label %1 unwind label %Rethrow ret i32 0 Rethrow: - unwind + %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 + catch i8* null + resume { i8*, i32 } %exn } - -; Verify that simplifycfg isn't duplicating 'unwind' instructions. Doing this -; is bad because it discourages commoning. -define i32 @test2(i1 %c) { -; CHECK: @test2 -; CHECK: T: -; CHECK-NEXT: call void @bar() -; CHECK-NEXT: br label %F - br i1 %c, label %T, label %F -T: - call void @bar() - br label %F -F: - unwind -} +declare i32 @__gxx_personality_v0(...)