llvm/test/CodeGen/X86/eh-null-personality.ll
Reid Kleckner 7174af9bac [EH] Handle non-Function personalities like unknown personalities
Also delete and simplify a lot of MachineModuleInfo code that used to be
needed to handle personalities on landingpads.  Now that the personality
is on the LLVM Function, we no longer need to track it this way on MMI.
Certainly it should not live on LandingPadInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246478 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-31 20:02:16 +00:00

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