| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| ; RUN: llc -mtriple=mips64-unknown-linux < %s | FileCheck %s | ||
|
|
||
| define i32 @main() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*){ | ||
| %1 = invoke i32 @foo() to label %good unwind label %bad | ||
| good: | ||
| ret i32 5 | ||
| bad: | ||
| %2 = landingpad { i8*, i32 } | ||
| cleanup | ||
| resume { i8*, i32 } %2 | ||
| } | ||
|
|
||
| declare i32 @foo() | ||
| declare i32 @__gxx_personality_v0(...) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ||
| ; RUN: llc -mtriple=mips64-unknown-linux < %s | FileCheck %s | ||
|
|
||
| define i32 @main() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*){ | ||
| ; CHECK-LABEL: main: | ||
| ; CHECK: # %bb.0: | ||
| ; CHECK-NEXT: daddiu $sp, $sp, -16 | ||
| ; CHECK-NEXT: .cfi_def_cfa_offset 16 | ||
| ; CHECK-NEXT: sd $ra, 8($sp) # 8-byte Folded Spill | ||
| ; CHECK-NEXT: .cfi_offset 31, -8 | ||
| ; CHECK-NEXT: .Ltmp0: | ||
| ; CHECK-NEXT: jal foo | ||
| ; CHECK-NEXT: nop | ||
| ; CHECK-NEXT: .Ltmp1: | ||
| ; CHECK-NEXT: # %bb.1: # %good | ||
| ; CHECK-NEXT: addiu $2, $zero, 5 | ||
| ; CHECK-NEXT: ld $ra, 8($sp) # 8-byte Folded Reload | ||
| ; CHECK-NEXT: jr $ra | ||
| ; CHECK-NEXT: daddiu $sp, $sp, 16 | ||
| ; CHECK-NEXT: .LBB0_2: # %bad | ||
| ; CHECK-NEXT: .Ltmp2: | ||
| ; CHECK-NEXT: jal _Unwind_Resume | ||
| ; CHECK-NEXT: nop | ||
| %1 = invoke i32 @foo() to label %good unwind label %bad | ||
| good: | ||
| ret i32 5 | ||
| bad: | ||
| %2 = landingpad { i8*, i32 } | ||
| cleanup | ||
| resume { i8*, i32 } %2 | ||
| } | ||
|
|
||
| declare i32 @foo() | ||
| declare i32 @__gxx_personality_v0(...) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # REQUIRES: mips-registered-target | ||
| ## Check that we handle MIPS64 assembly output with an EH asm prologue | ||
|
|
||
| # RUN: cp -f %S/Inputs/mips64_eh.ll %t.ll && %update_llc_test_checks %t.ll | ||
| # RUN: diff -u %S/Inputs/mips64_eh.ll.expected %t.ll |