Update to new EH scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138928 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2011-09-01 01:08:21 +00:00
parent 15db556b56
commit 65088e7d96
9 changed files with 49 additions and 4 deletions

View File

@ -16,6 +16,10 @@ Ok: ; preds = %0
ret i32 %V
Bad: ; preds = %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 0
}
declare i32 @__gxx_personality_v0(...)

View File

@ -6,10 +6,15 @@ entry:
to label %Call2Invoke unwind label %LongJmpBlkPre
Call2Invoke: ; preds = %entry
br label %LongJmpBlkPre
br label %exit
LongJmpBlkPre: ; preds = %Call2Invoke, %entry
%i.3 = phi i32 [ 0, %entry ], [ 0, %Call2Invoke ] ; <i32> [#uses=0]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
br label %exit
exit:
ret i32 0
}
@ -19,6 +24,8 @@ define void @__main() {
ret void
}
declare i32 @__gxx_personality_v0(...)
declare void @__llvm_getGlobalCtors()
declare void @__llvm_getGlobalDtors()

View File

@ -15,6 +15,9 @@ BB1:
Cont: ; preds = %BB1, %BB1
%A = phi i32 [ 0, %BB1 ], [ 0, %BB1 ] ; <i32> [#uses=1]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 %A
}
declare i32 @__gxx_personality_v0(...)

View File

@ -33,9 +33,13 @@ invcont67: ; preds = %invcont65
ret void
cleanup144: ; preds = %invcont65, %invcont64, %invcont, %entry
unwind
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
resume { i8*, i32 } %exn
}
declare i32 @__gxx_personality_v0(...)
declare void @gnat__os_lib__getenv(%struct.gnat__strings__string_access*)
declare void @ada__calendar__delays__delay_for()

View File

@ -29,5 +29,8 @@ invcont:
unreachable
lpad:
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare i32 @__gxx_personality_v0(...)

View File

@ -69,9 +69,13 @@ invcont98:
unreachable
lpad156:
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}
declare i32 @__gxx_personality_v0(...)
declare fastcc void @YYY()
define internal fastcc void @XXX() {
@ -84,7 +88,9 @@ bb260:
ret void
lpad:
unwind
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
resume { i8*, i32 } %exn
}
@ -105,6 +111,8 @@ invcont3: ; preds = %bb1
ret void
lpad18: ; preds = %invcont3, %bb1
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
}

View File

@ -20,5 +20,9 @@ cont: ; preds = %0
ret i32 0
exc: ; preds = %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 1
}
declare i32 @__gxx_personality_v0(...)

View File

@ -14,6 +14,8 @@ cont: ; preds = %0
ret i32 0
exc: ; preds = %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 1
}
@ -26,5 +28,9 @@ cont: ; preds = %0
ret i32 %X
UnreachableExceptionHandler: ; preds = %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 -1
}
declare i32 @__gxx_personality_v0(...)

View File

@ -14,7 +14,9 @@ cont: ; preds = %0
exc: ; preds = %0a
; This just rethrows the exception!
unwind
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
resume { i8*, i32 } %exn
}
; caller returns true if might_throw throws an exception... which gets
@ -28,5 +30,9 @@ cont: ; preds = %0
Handler: ; preds = %0
; This consumes an exception thrown by might_throw
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 1
}
declare i32 @__gxx_personality_v0(...)