mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Update some EH tests that were violating the new EH model.
The landingpad instruction needs to be the first non-PHI instruction in the unwind destination block. llvm-svn: 177650
This commit is contained in:
parent
8613f86d1c
commit
e20714f292
@ -1,7 +1,5 @@
|
||||
; rdar://7879828
|
||||
; RUN: opt -inline -argpromotion < %s
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||
target triple = "x86_64-apple-darwin10.0.0"
|
||||
; rdar://7879828
|
||||
|
||||
define void @foo() {
|
||||
invoke void @foo2()
|
||||
@ -11,6 +9,8 @@ if.end432:
|
||||
unreachable
|
||||
|
||||
for.end520:
|
||||
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||
cleanup
|
||||
unreachable
|
||||
}
|
||||
|
||||
@ -57,3 +57,5 @@ init:
|
||||
%4 = call i32 @"clay_assign(Chain, Chain)"(%0* %3, %0* %1)
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
@ -3,10 +3,15 @@
|
||||
define i32 @main() {
|
||||
entry:
|
||||
invoke void @__main( )
|
||||
to label %LongJmpBlkPre unwind label %LongJmpBlkPre
|
||||
to label %LongJmpBlkPost unwind label %LongJmpBlkPre
|
||||
|
||||
LongJmpBlkPre: ; preds = %entry, %entry
|
||||
LongJmpBlkPost:
|
||||
ret i32 0
|
||||
|
||||
LongJmpBlkPre:
|
||||
%i.3 = phi i32 [ 0, %entry ], [ 0, %entry ] ; <i32> [#uses=0]
|
||||
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||
cleanup
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
@ -14,3 +19,4 @@ define void @__main() {
|
||||
ret void
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
@ -13,6 +13,8 @@ LJDecisionBB: ; preds = %else
|
||||
br label %else
|
||||
|
||||
RethrowExcept: ; preds = %entry
|
||||
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||
cleanup
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
@ -20,4 +22,4 @@ define void @__main() {
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
Loading…
Reference in New Issue
Block a user