Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / Mips / frame-address.ll
blob685d1fe1f465120b4e276c11bb2e02c1e7899ec6
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -march=mipsel < %s | FileCheck %s
4 declare ptr @llvm.frameaddress(i32) nounwind readnone
6 define ptr @f() nounwind uwtable {
7 ; CHECK-LABEL: f:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    addiu $sp, $sp, -8
10 ; CHECK-NEXT:    .cfi_def_cfa_offset 8
11 ; CHECK-NEXT:    sw $ra, 4($sp) # 4-byte Folded Spill
12 ; CHECK-NEXT:    sw $fp, 0($sp) # 4-byte Folded Spill
13 ; CHECK-NEXT:    .cfi_offset 31, -4
14 ; CHECK-NEXT:    .cfi_offset 30, -8
15 ; CHECK-NEXT:    move $fp, $sp
16 ; CHECK-NEXT:    .cfi_def_cfa_register 30
17 ; CHECK-NEXT:    move $2, $fp
18 ; CHECK-NEXT:    move $sp, $fp
19 ; CHECK-NEXT:    lw $fp, 0($sp) # 4-byte Folded Reload
20 ; CHECK-NEXT:    lw $ra, 4($sp) # 4-byte Folded Reload
21 ; CHECK-NEXT:    jr $ra
22 ; CHECK-NEXT:    addiu $sp, $sp, 8
23 entry:
24   %0 = call ptr @llvm.frameaddress(i32 0)
25   ret ptr %0