Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc -mtriple arm-unknown-linux-gnueabi \
      2 ; RUN:     -arm-enable-ehabi -arm-enable-ehabi-descriptors \
      3 ; RUN:     -filetype=obj -o - %s \
      4 ; RUN:   | llvm-objdump -s - \
      5 ; RUN:   | FileCheck %s
      6 
      7 define void @_Z4testiiiiiddddd(i32 %u1, i32 %u2, i32 %u3, i32 %u4, i32 %u5, double %v1, double %v2, double %v3, double %v4, double %v5) {
      8 entry:
      9   invoke void @_Z5printiiiii(i32 %u1, i32 %u2, i32 %u3, i32 %u4, i32 %u5)
     10           to label %try.cont unwind label %lpad
     11 
     12 lpad:                                             ; preds = %entry
     13   %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
     14           catch i8* null
     15   %1 = extractvalue { i8*, i32 } %0, 0
     16   %2 = tail call i8* @__cxa_begin_catch(i8* %1) nounwind
     17   invoke void @_Z5printddddd(double %v1, double %v2, double %v3, double %v4, double %v5)
     18           to label %invoke.cont2 unwind label %lpad1
     19 
     20 invoke.cont2:                                     ; preds = %lpad
     21   tail call void @__cxa_end_catch()
     22   br label %try.cont
     23 
     24 try.cont:                                         ; preds = %entry, %invoke.cont2
     25   ret void
     26 
     27 lpad1:                                            ; preds = %lpad
     28   %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
     29           cleanup
     30   invoke void @__cxa_end_catch()
     31           to label %eh.resume unwind label %terminate.lpad
     32 
     33 eh.resume:                                        ; preds = %lpad1
     34   resume { i8*, i32 } %3
     35 
     36 terminate.lpad:                                   ; preds = %lpad1
     37   %4 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
     38           catch i8* null
     39   tail call void @_ZSt9terminatev() noreturn nounwind
     40   unreachable
     41 }
     42 
     43 declare void @_Z5printiiiii(i32, i32, i32, i32, i32)
     44 
     45 declare i32 @__gxx_personality_v0(...)
     46 
     47 declare i8* @__cxa_begin_catch(i8*)
     48 
     49 declare void @_Z5printddddd(double, double, double, double, double)
     50 
     51 declare void @__cxa_end_catch()
     52 
     53 declare void @_ZSt9terminatev()
     54 
     55 ; CHECK: section .text
     56 ; CHECK: section .ARM.extab
     57 ; CHECK-NEXT: 0000 00000000 b0b0b000
     58 ; CHECK: section .ARM.exidx
     59 ; CHECK-NEXT: 0000 00000000 00000000
     60