mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-16 00:16:50 +00:00
c931f35508
It turns out we decide whether to use SjLj exceptions or some alternative in two separate places in the backend, and they disagreed with each other. This led to inconsistent code and is generally a terrible idea. So make them consistent and add an assert that they *do* match (unfortunately MCAsmInfo isn't available in opt, so it can't be used to initialise the CodeGen version directly). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253502 91177308-0d34-0410-b5e6-96231b3b80d8
25 lines
684 B
LLVM
25 lines
684 B
LLVM
; RUN: llc < %s -mtriple=armv7-apple-ios -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=IOS
|
|
; RUN: llc < %s -mtriple=armv7k-apple-ios -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=IOS
|
|
; RUN: llc < %s -mtriple=armv7k-apple-watchos -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=WATCHOS
|
|
|
|
declare void @func()
|
|
|
|
declare i32 @__gxx_personality_sj0(...)
|
|
|
|
define void @test0() personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
|
|
entry:
|
|
invoke void @func()
|
|
to label %cont unwind label %lpad
|
|
|
|
cont:
|
|
ret void
|
|
|
|
lpad:
|
|
%exn = landingpad { i8*, i32 }
|
|
cleanup
|
|
resume { i8*, i32 } %exn
|
|
}
|
|
|
|
; IOS: __Unwind_SjLj_Resume
|
|
; WATCHOS: __Unwind_Resume
|