mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
0edf7445db
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. llvm-svn: 246478
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
|