2009-09-09 00:09:15 +00:00
|
|
|
; RUN: llc < %s
|
2008-04-25 18:27:55 +00:00
|
|
|
|
|
|
|
declare { i64, double } @wild()
|
|
|
|
|
|
|
|
define void @foo(i64* %p, double* %q) nounwind {
|
|
|
|
%t = invoke { i64, double } @wild() to label %normal unwind label %handler
|
|
|
|
|
|
|
|
normal:
|
2011-06-17 06:57:15 +00:00
|
|
|
%mrv_gr = extractvalue { i64, double } %t, 0
|
2008-04-25 18:27:55 +00:00
|
|
|
store i64 %mrv_gr, i64* %p
|
2011-06-17 06:57:15 +00:00
|
|
|
%mrv_gr12681 = extractvalue { i64, double } %t, 1
|
2008-04-25 18:27:55 +00:00
|
|
|
store double %mrv_gr12681, double* %q
|
|
|
|
ret void
|
|
|
|
|
|
|
|
handler:
|
2011-08-25 23:48:37 +00:00
|
|
|
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
|
|
|
catch i8* null
|
2008-04-25 18:27:55 +00:00
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
2011-08-25 23:48:37 +00:00
|
|
|
declare i32 @__gxx_personality_v0(...)
|