42 lines
1.8 KiB
LLVM
42 lines
1.8 KiB
LLVM
; RUN: llc -mtriple=riscv64 -mattr=+d,+zfh < %s | FileCheck %s
|
|
|
|
; CHECK-LABEL: .section .llvm_stackmaps
|
|
; CHECK-NEXT: __LLVM_StackMaps:
|
|
; Header
|
|
; CHECK-NEXT: .byte 3
|
|
; CHECK-NEXT: .byte 0
|
|
; CHECK-NEXT: .half 0
|
|
; Num Functions
|
|
; CHECK-NEXT: .word 1
|
|
; Num LargeConstants
|
|
; CHECK-NEXT: .word 0
|
|
; Num Callsites
|
|
; CHECK-NEXT: .word 1
|
|
|
|
; Functions and stack size
|
|
; CHECK-NEXT: .quad liveArgs
|
|
; CHECK-NEXT: .quad 0
|
|
; CHECK-NEXT: .quad 1
|
|
|
|
; Spilled stack map values.
|
|
;
|
|
; Verify 3 stack map entries.
|
|
;
|
|
; CHECK-LABEL: .word .L{{.*}}-liveArgs
|
|
; CHECK-NEXT: .half 0
|
|
; CHECK-NEXT: .half 25
|
|
;
|
|
; Check that at least one is a spilled entry from SP.
|
|
; Location: Indirect SP + ...
|
|
; CHECK: .byte 3
|
|
; CHECK-NEXT: .byte 0
|
|
; CHECK-NEXT: .half 8
|
|
; CHECK-NEXT: .half 2
|
|
; CHECK-NEXT: .half 0
|
|
; CHECK-NEXT: .word
|
|
define void @liveArgs(double %arg0, double %arg1, double %arg2, double %arg3, double %arg4, double %arg5, double %arg6, double %arg7, double %arg8, double %arg9, double %arg10, double %arg11, double %arg12, double %arg13, double %arg14, double %arg15, double %arg16, double %arg17, double %arg18, double %arg19, double %arg20, double %arg21, double %arg22, double %arg23, half %arg24, half %arg25, half %arg26, half %arg27, half %arg28, bfloat %arg29) {
|
|
entry:
|
|
call void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 11, i32 28, ptr null, i32 5, double %arg0, double %arg1, double %arg2, double %arg3, double %arg4, double %arg5, double %arg6, double %arg7, double %arg8, double %arg9, double %arg10, double %arg11, double %arg12, double %arg13, double %arg14, double %arg15, double %arg16, double %arg17, double %arg18, double %arg19, double %arg20, double %arg21, double %arg22, double %arg23, half %arg24, half %arg25, half %arg26, half %arg27, half %arg28, bfloat %arg29)
|
|
ret void
|
|
}
|