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
|