26 lines
558 B
LLVM
26 lines
558 B
LLVM
; RUN: llc -mtriple=x86_64-linux < %s | FileCheck %s
|
|
|
|
; We should treat non-Function personalities as the unknown personality, which
|
|
; is usually Itanium.
|
|
|
|
declare void @g()
|
|
declare void @terminate(ptr)
|
|
|
|
define void @f() personality ptr null {
|
|
invoke void @g()
|
|
to label %ret unwind label %lpad
|
|
ret:
|
|
ret void
|
|
lpad:
|
|
%vals = landingpad { ptr, i32 } catch ptr null
|
|
%ptr = extractvalue { ptr, i32 } %vals, 0
|
|
call void @terminate(ptr %ptr)
|
|
unreachable
|
|
}
|
|
|
|
; CHECK: f:
|
|
; CHECK: callq g
|
|
; CHECK: retq
|
|
; CHECK: movq %rax, %rdi
|
|
; CHECK: callq terminate
|