brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 3803ac8 Raw
90 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv64 -mattr=+v,+m < %s \3; RUN:     | FileCheck %s4 5@_ZTIi = external dso_local constant ptr6 7declare void @_Z3fooiiiiiiiiiiPi(i32 signext %0, i32 signext %1, i32 signext %2, i32 signext %3, i32 signext %4, i32 signext %5, i32 signext %6, i32 signext %7, i32 %8, i32 %9, i32 %10)8 9declare dso_local ptr @__cxa_allocate_exception(i64)10 11declare dso_local void @__cxa_throw(ptr, ptr, ptr)12 13define signext i32 @foo() #1 personality ptr @__gxx_personality_v0 {14; CHECK-LABEL: foo:15; CHECK:       # %bb.0: # %entry16; CHECK-NEXT:    addi sp, sp, -3217; CHECK-NEXT:    .cfi_def_cfa_offset 3218; CHECK-NEXT:    sd ra, 24(sp) # 8-byte Folded Spill19; CHECK-NEXT:    sd s0, 16(sp) # 8-byte Folded Spill20; CHECK-NEXT:    sd s1, 8(sp) # 8-byte Folded Spill21; CHECK-NEXT:    .cfi_offset ra, -822; CHECK-NEXT:    .cfi_offset s0, -1623; CHECK-NEXT:    .cfi_offset s1, -2424; CHECK-NEXT:    addi s0, sp, 3225; CHECK-NEXT:    .cfi_def_cfa s0, 026; CHECK-NEXT:    .cfi_remember_state27; CHECK-NEXT:  .Ltmp0:28; CHECK-NEXT:    addi sp, sp, -3229; CHECK-NEXT:    call _Z3fooiiiiiiiiiiPi30; CHECK-NEXT:    addi sp, sp, 3231; CHECK-NEXT:  .Ltmp1:32; CHECK-NEXT:  # %bb.1: # %try.cont.unreachable33; CHECK-NEXT:  .LBB0_2: # %lpad34; CHECK-NEXT:  .Ltmp2:35; CHECK-NEXT:    sext.w a1, a136; CHECK-NEXT:    li a2, 137; CHECK-NEXT:    bne a1, a2, .LBB0_438; CHECK-NEXT:  # %bb.3: # %catch39; CHECK-NEXT:    call __cxa_begin_catch40; CHECK-NEXT:    lw s1, 0(a0)41; CHECK-NEXT:    call __cxa_end_catch42; CHECK-NEXT:    mv a0, s143; CHECK-NEXT:    addi sp, s0, -3244; CHECK-NEXT:    .cfi_def_cfa sp, 3245; CHECK-NEXT:    ld ra, 24(sp) # 8-byte Folded Reload46; CHECK-NEXT:    ld s0, 16(sp) # 8-byte Folded Reload47; CHECK-NEXT:    ld s1, 8(sp) # 8-byte Folded Reload48; CHECK-NEXT:    .cfi_restore ra49; CHECK-NEXT:    .cfi_restore s050; CHECK-NEXT:    .cfi_restore s151; CHECK-NEXT:    addi sp, sp, 3252; CHECK-NEXT:    .cfi_def_cfa_offset 053; CHECK-NEXT:    ret54; CHECK-NEXT:  .LBB0_4: # %ehcleanup55; CHECK-NEXT:    .cfi_restore_state56; CHECK-NEXT:    call _Unwind_Resume57entry:58  invoke void @_Z3fooiiiiiiiiiiPi(i32 signext poison, i32 signext poison, i32 signext poison, i32 signext poison, i32 signext poison, i32 signext poison, i32 signext poison, i32 signext poison, i32 poison, i32 poison, i32 poison)59          to label %try.cont.unreachable unwind label %lpad60 61lpad:62  %0 = landingpad { ptr, i32 }63          cleanup64          catch ptr @_ZTIi65  %1 = extractvalue { ptr, i32 } %0, 166  %2 = call i32 @llvm.eh.typeid.for(ptr nonnull @_ZTIi)67  %matches = icmp eq i32 %1, %268  br i1 %matches, label %catch, label %ehcleanup69 70catch:71  %3 = extractvalue { ptr, i32 } %0, 072  %4 = call ptr @__cxa_begin_catch(ptr %3)73  %5 = load i32, ptr %4, align 474  call void @__cxa_end_catch()75  ret i32 %576 77try.cont.unreachable:78  unreachable79 80ehcleanup:81  resume { ptr, i32 } %082}83 84declare i32 @__gxx_personality_v0(...)85 86declare ptr @__cxa_begin_catch(ptr)87declare void @__cxa_end_catch()88 89attributes #1 = { "frame-pointer"="all"}90