blob: bfe04559bcac4067eaf6f90a71381bc78faab657 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
; 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.
; RUN: opt < %s -inline -disable-output
define linkonce void @foo() {
unwind
}
define i32 @test() {
BB1:
invoke void @foo( )
to label %Cont unwind label %Cont
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(...)
|