Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -march=arm | FileCheck %s
      2 target triple = "armv6-apple-macosx10.6"
      3 
      4 declare void @func()
      5 
      6 declare i8* @llvm.eh.exception() nounwind readonly
      7 
      8 declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
      9 
     10 declare void @llvm.eh.resume(i8*, i32)
     11 
     12 declare i32 @__gxx_personality_sj0(...)
     13 
     14 define void @test0() {
     15 entry:
     16   invoke void @func()
     17     to label %cont unwind label %lpad
     18 
     19 cont:
     20   ret void
     21 
     22 lpad:
     23   %exn = call i8* @llvm.eh.exception()
     24   %sel = call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn, i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*), i32 0)
     25   call void @llvm.eh.resume(i8* %exn, i32 %sel) noreturn
     26   unreachable
     27 }
     28 
     29 ; CHECK: __Unwind_SjLj_Resume
     30