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(i8*)
|
|
|
|
define void @f() personality i8* null {
|
|
invoke void @g()
|
|
to label %ret unwind label %lpad
|
|
ret:
|
|
ret void
|
|
lpad:
|
|
%vals = landingpad { i8*, i32 } catch i8* null
|
|
%ptr = extractvalue { i8*, i32 } %vals, 0
|
|
call void @terminate(i8* %ptr)
|
|
unreachable
|
|
}
|
|
|
|
; CHECK: f:
|
|
; CHECK: callq g
|
|
; CHECK: retq
|
|
; CHECK: movq %rax, %rdi
|
|
; CHECK: callq terminate
|