[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / CodeGen / Mips / call-after-trap.ll
blob51bdf42544028d63340d1a41e5f6ff3a7b1f4555
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; Previously a call to @llvm.trap() with following code would cause machine
3 ; verifier issues on MIPS (as TRAP was marked as being a terminator).
4 ; This compiles fine on other architectures, so check we do the same for MIPS.
5 ; RUN: llc -mtriple=mips64-unknown-freebsd -relocation-model=pic -verify-machineinstrs %s -o - | FileCheck %s
8 declare void @llvm.trap() #0
9 declare void @widget() #1
10 define hidden void @eggs() #1 {
11 ; CHECK-LABEL: eggs:
12 ; CHECK:       # %bb.0: # %entry
13 ; CHECK-NEXT:    daddiu $sp, $sp, -16
14 ; CHECK-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
15 ; CHECK-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
16 ; CHECK-NEXT:    lui $1, %hi(%neg(%gp_rel(eggs)))
17 ; CHECK-NEXT:    daddu $1, $1, $25
18 ; CHECK-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(eggs)))
19 ; CHECK-NEXT:    break
20 ; CHECK-NEXT:    ld $25, %call16(widget)($gp)
21 ; CHECK-NEXT:    .reloc .Ltmp0, R_MIPS_JALR, widget
22 ; CHECK-NEXT:  .Ltmp0:
23 ; CHECK-NEXT:    jalr $25
24 ; CHECK-NEXT:    nop
25 entry:
26   call void @llvm.trap()
27   call void @widget() #2
28   unreachable
31 attributes #0 = { cold noreturn nounwind }
32 attributes #1 = { nounwind "use-soft-float"="true" }
33 attributes #2 = { noreturn }