2003-10-27 13:13:47 +08:00
|
|
|
; The inliner is breaking inlining invoke instructions where there is a PHI
|
|
|
|
; node in the exception destination, and the inlined function contains an
|
|
|
|
; unwind instruction.
|
|
|
|
|
2009-09-12 02:01:28 +08:00
|
|
|
; RUN: opt < %s -inline -disable-output
|
2003-10-27 13:13:47 +08:00
|
|
|
|
2008-03-01 17:15:35 +08:00
|
|
|
define linkonce void @foo() {
|
|
|
|
unwind
|
2003-10-27 13:13:47 +08:00
|
|
|
}
|
|
|
|
|
2008-03-01 17:15:35 +08:00
|
|
|
define i32 @test() {
|
2003-10-27 13:13:47 +08:00
|
|
|
BB1:
|
2008-03-01 17:15:35 +08:00
|
|
|
invoke void @foo( )
|
|
|
|
to label %Cont unwind label %Cont
|
|
|
|
|
|
|
|
Cont: ; preds = %BB1, %BB1
|
|
|
|
%A = phi i32 [ 0, %BB1 ], [ 0, %BB1 ] ; <i32> [#uses=1]
|
|
|
|
ret i32 %A
|
2003-10-27 13:13:47 +08:00
|
|
|
}
|
2008-03-01 17:15:35 +08:00
|
|
|
|