96 lines
1.9 KiB
LLVM
96 lines
1.9 KiB
LLVM
|
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
|
||
|
|
||
|
; CHECK-LABEL: .section __LLVM_STACKMAPS,__llvm_stackmaps
|
||
|
; CHECK-NEXT: __LLVM_StackMaps:
|
||
|
; version
|
||
|
; CHECK-NEXT: .byte 3
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .byte 0
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; # functions
|
||
|
; CHECK-NEXT: .long 2
|
||
|
; # constants
|
||
|
; CHECK-NEXT: .long 2
|
||
|
; # records
|
||
|
; CHECK-NEXT: .long 2
|
||
|
; function address & stack size
|
||
|
; CHECK-NEXT: .quad _foo
|
||
|
; CHECK-NEXT: .quad 8
|
||
|
; CHECK-NEXT: .quad 1
|
||
|
; function address & stack size
|
||
|
; CHECK-NEXT: .quad _bar
|
||
|
; CHECK-NEXT: .quad 8
|
||
|
; CHECK-NEXT: .quad 1
|
||
|
|
||
|
; Constants Array:
|
||
|
; CHECK-NEXT: .quad 9223372036854775807
|
||
|
; CHECK-NEXT: .quad -9223372036854775808
|
||
|
|
||
|
; Patchpoint ID
|
||
|
; CHECK-NEXT: .quad 0
|
||
|
; Instruction offset
|
||
|
; CHECK-NEXT: .long L{{.*}}-_foo
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; # locations
|
||
|
; CHECK-NEXT: .short 1
|
||
|
; ConstantIndex
|
||
|
; CHECK-NEXT: .byte 5
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .byte 0
|
||
|
; size
|
||
|
; CHECK-NEXT: .short 8
|
||
|
; Dwarf RegNum
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; Offset
|
||
|
; CHECK-NEXT: .long 0
|
||
|
; padding
|
||
|
; CHECK-NEXT: .p2align 3
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; NumLiveOuts
|
||
|
; CHECK-NEXT: .short 0
|
||
|
|
||
|
; CHECK-NEXT: .p2align 3
|
||
|
|
||
|
declare void @llvm.experimental.stackmap(i64, i32, ...)
|
||
|
|
||
|
define void @foo() {
|
||
|
tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 9223372036854775807)
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
; Patchpoint ID
|
||
|
; CHECK-NEXT: .quad 0
|
||
|
; Instruction Offset
|
||
|
; CHECK-NEXT: .long L{{.*}}-_bar
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; # locations
|
||
|
; CHECK-NEXT: .short 1
|
||
|
; ConstantIndex
|
||
|
; CHECK-NEXT: .byte 5
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .byte 0
|
||
|
; size
|
||
|
; CHECK-NEXT: .short 8
|
||
|
; Dwarf RegNum
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; reserved
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; Offset
|
||
|
; CHECK-NEXT: .long 1
|
||
|
; padding
|
||
|
; CHECK-NEXT: .p2align 3
|
||
|
; CHECK-NEXT: .short 0
|
||
|
; NumLiveOuts
|
||
|
; CHECK-NEXT: .short 0
|
||
|
|
||
|
|
||
|
define void @bar() {
|
||
|
tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 -9223372036854775808)
|
||
|
ret void
|
||
|
}
|