mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
dcab2a544c
Fix a machine verifier issue where a instruction was using a invalid register. The return pseudo is expanded and has the return address register added to it. The return register may have been spuriously mark as killed earlier. This partially resolves PR/27458 Thanks to Quentin Colombet for reporting the issue! llvm-svn: 297372
30 lines
982 B
LLVM
30 lines
982 B
LLVM
; RUN: llc -march=mipsel < %s -verify-machineinstrs | FileCheck %s
|
|
|
|
|
|
define void @tnaked() #0 {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
; CHECK: .ent tnaked
|
|
; CHECK-LABEL: tnaked:
|
|
; CHECK-NOT: .frame {{.*}}
|
|
; CHECK-NOT: .mask {{.*}}
|
|
; CHECK-NOT: .fmask {{.*}}
|
|
; CHECK-NOT: addiu $sp, $sp, -8
|
|
|
|
define void @tnonaked() #1 {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
; CHECK: .ent tnonaked
|
|
; CHECK-LABEL: tnonaked:
|
|
; CHECK: .frame $fp,8,$ra
|
|
; CHECK: .mask 0x40000000,-4
|
|
; CHECK: .fmask 0x00000000,0
|
|
; CHECK: addiu $sp, $sp, -8
|
|
|
|
attributes #0 = { naked noinline nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
|
attributes #1 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
|