; 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 | |
} |