33 lines
		
	
	
		
			696 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			696 B
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: opt < %s -deadargelim | llvm-dis
 | 
						|
; PR3807
 | 
						|
 | 
						|
define internal { i32, i32 } @foo() {
 | 
						|
  ret {i32,i32} {i32 42, i32 4}
 | 
						|
}
 | 
						|
 | 
						|
define i32 @bar() personality i32 (...)* @__gxx_personality_v0 {
 | 
						|
  %x = invoke {i32,i32} @foo() to label %T unwind label %T2
 | 
						|
T:
 | 
						|
  %y = extractvalue {i32,i32} %x, 1
 | 
						|
  ret i32 %y
 | 
						|
T2:
 | 
						|
  %exn = landingpad {i8*, i32}
 | 
						|
            cleanup
 | 
						|
  unreachable
 | 
						|
}
 | 
						|
 | 
						|
define i32 @bar2() personality i32 (...)* @__gxx_personality_v0 {
 | 
						|
entry:
 | 
						|
  %x = invoke {i32,i32} @foo() to label %T unwind label %T2
 | 
						|
T:
 | 
						|
  %PN = phi i32 [0, %entry]
 | 
						|
  %y = extractvalue {i32,i32} %x, 1
 | 
						|
  ret i32 %y
 | 
						|
T2:
 | 
						|
  %exn = landingpad {i8*, i32}
 | 
						|
            cleanup
 | 
						|
  unreachable
 | 
						|
}
 | 
						|
 | 
						|
declare i32 @__gxx_personality_v0(...)
 |