; 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 |