1; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s 2 3; CHECK-LABEL: .section __LLVM_STACKMAPS,__llvm_stackmaps 4; CHECK-NEXT: __LLVM_StackMaps: 5; version 6; CHECK-NEXT: .byte 2 7; reserved 8; CHECK-NEXT: .byte 0 9; reserved 10; CHECK-NEXT: .short 0 11; # functions 12; CHECK-NEXT: .long 2 13; # constants 14; CHECK-NEXT: .long 2 15; # records 16; CHECK-NEXT: .long 2 17; function address & stack size 18; CHECK-NEXT: .quad _foo 19; CHECK-NEXT: .quad 8 20; CHECK-NEXT: .quad 1 21; function address & stack size 22; CHECK-NEXT: .quad _bar 23; CHECK-NEXT: .quad 8 24; CHECK-NEXT: .quad 1 25 26; Constants Array: 27; CHECK-NEXT: .quad 9223372036854775807 28; CHECK-NEXT: .quad -9223372036854775808 29 30; Patchpoint ID 31; CHECK-NEXT: .quad 0 32; Instruction offset 33; CHECK-NEXT: .long L{{.*}}-_foo 34; reserved 35; CHECK-NEXT: .short 0 36; # locations 37; CHECK-NEXT: .short 1 38; ConstantIndex 39; CHECK-NEXT: .byte 5 40; reserved 41; CHECK-NEXT: .byte 8 42; Dwarf RegNum 43; CHECK-NEXT: .short 0 44; Offset 45; CHECK-NEXT: .long 0 46; padding 47; CHECK-NEXT: .short 0 48; NumLiveOuts 49; CHECK-NEXT: .short 0 50 51; CHECK-NEXT: .p2align 3 52 53declare void @llvm.experimental.stackmap(i64, i32, ...) 54 55define void @foo() { 56 tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 9223372036854775807) 57 ret void 58} 59 60; Patchpoint ID 61; CHECK-NEXT: .quad 0 62; Instruction Offset 63; CHECK-NEXT: .long L{{.*}}-_bar 64; reserved 65; CHECK-NEXT: .short 0 66; # locations 67; CHECK-NEXT: .short 1 68; ConstantIndex 69; CHECK-NEXT: .byte 5 70; reserved 71; CHECK-NEXT: .byte 8 72; Dwarf RegNum 73; CHECK-NEXT: .short 0 74; Offset 75; CHECK-NEXT: .long 1 76; padding 77; CHECK-NEXT: .short 0 78; NumLiveOuts 79; CHECK-NEXT: .short 0 80 81 82define void @bar() { 83 tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i64 -9223372036854775808) 84 ret void 85} 86