33 lines · plain
1; RUN: llc < %s -mtriple=armv7-apple-ios -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=IOS2; RUN: llc < %s -mtriple=armv7-apple-watchos -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=IOS3; RUN: llc < %s -mtriple=armv7k-apple-ios -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=WATCHABI4; RUN: llc < %s -mtriple=armv7k-apple-watchos -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=WATCHABI5; RUN: llc < %s -mtriple=armv7-none-gnueabihf -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=EABI6; RUN: llc < %s -mtriple=armv7-none-none -arm-atomic-cfg-tidy=0 | FileCheck %s -check-prefix=ABI7 8; ARM EABI for C++/__gxx_personality* specifies __cxa_end_cleanup, but for C code / __gcc_personality*9; the _Unwind_Resume is required.10 11declare void @func()12 13declare i32 @__gcc_personality_v0(...)14 15define void @test0() personality ptr @__gcc_personality_v0 {16entry:17 invoke void @func()18 to label %cont unwind label %lpad19 20cont:21 ret void22 23lpad:24 %exn = landingpad { ptr, i32 }25 cleanup26 resume { ptr, i32 } %exn27}28 29; IOS: __Unwind_SjLj_Resume30; WATCHABI: __Unwind_Resume31; EABI: _Unwind_Resume32; ABI: _Unwind_Resume33