1RUN: llvm-readobj -stackmap %p/Inputs/stackmap-test.macho-x86-64 | FileCheck %s 2 3; Note: the macho object file in this test was generated in the following way: 4; llc -mtriple=x86_64-apple-darwin %p/test/CodeGen/X86/stackmap.ll -o stackmap.s 5; clang -c stackmap.s -o %p/test/Object/Inputs/stackmap-test.macho-x86-64 6 7CHECK: LLVM StackMap Version: 2 8CHECK-NEXT: Num Functions: 16 9CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 10CHECK-NEXT: Function address: 0, stack size: 24, callsite record count: 1 11CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 12CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 13CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 14CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 15CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 16CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 17CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 18CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 19CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 20CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 21CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 2 22CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 4 23CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 24CHECK-NEXT: Function address: 0, stack size: 18446744073709551615, callsite record count: 1 25CHECK-NEXT: Num Constants: 3 26CHECK-NEXT: #1: 2147483648 27CHECK-NEXT: #2: 4294967295 28CHECK-NEXT: #3: 4294967296 29CHECK-NEXT: Num Records: 20 30CHECK-NEXT: Record ID: 1, instruction offset: 4 31CHECK-NEXT: 12 locations: 32CHECK-NEXT: #1: Constant 4294967295 33CHECK-NEXT: #2: Constant 4294967295 34CHECK-NEXT: #3: Constant 65536 35CHECK-NEXT: #4: Constant 2000000000 36CHECK-NEXT: #5: Constant 2147483647 37CHECK-NEXT: #6: Constant 4294967295 38CHECK-NEXT: #7: Constant 4294967295 39CHECK-NEXT: #8: Constant 0 40CHECK-NEXT: #9: ConstantIndex #0 (2147483648) 41CHECK-NEXT: #10: ConstantIndex #1 (4294967295) 42CHECK-NEXT: #11: ConstantIndex #2 (4294967296) 43CHECK-NEXT: #12: Constant 4294967295 44CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 45 46CHECK: Record ID: 3, instruction offset: 22 47CHECK-NEXT: 2 locations: 48CHECK-NEXT: #1: Register R#3 49CHECK-NEXT: #2: Register R#14 50CHECK-NEXT: 0 live-outs: [ ] 51 52CHECK: Record ID: 4, instruction offset: 10 53CHECK-NEXT: 2 locations: 54CHECK-NEXT: #1: Register R#5 55CHECK-NEXT: #2: Register R#4 56CHECK-NEXT: 0 live-outs: [ ] 57 58CHECK: Record ID: 5, instruction offset: 4 59CHECK-NEXT: 2 locations: 60CHECK-NEXT: #1: Register R#0 61CHECK-NEXT: #2: Register R#5 62CHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ] 63 64CHECK: Record ID: 6, instruction offset: 4 65CHECK-NEXT: 2 locations: 66CHECK-NEXT: #1: Register R#4 67CHECK-NEXT: #2: Register R#2 68CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 69 70CHECK: Record ID: 7, instruction offset: 10 71CHECK-NEXT: 2 locations: 72CHECK-NEXT: #1: Register R#2 73CHECK-NEXT: #2: Register R#8 74CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 75 76CHECK: Record ID: 8, instruction offset: 10 77CHECK-NEXT: 2 locations: 78CHECK-NEXT: #1: Register R#2 79CHECK-NEXT: #2: Register R#8 80CHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ] 81 82CHECK: Record ID: 11, instruction offset: 42 83CHECK-NEXT: 17 locations: 84CHECK-NEXT: #1: Register R#9 85CHECK-NEXT: #2: Register R#14 86CHECK-NEXT: #3: Register R#10 87CHECK-NEXT: #4: Register R#3 88CHECK-NEXT: #5: Register R#0 89CHECK-NEXT: #6: Register R#13 90CHECK-NEXT: #7: Register R#12 91CHECK-NEXT: #8: Register R#15 92CHECK-NEXT: #9: Indirect [R#6 + 72] 93CHECK-NEXT: #10: Indirect [R#6 + 80] 94CHECK-NEXT: #11: Indirect [R#6 + 88] 95CHECK-NEXT: #12: Indirect [R#6 + 96] 96CHECK-NEXT: #13: Indirect [R#6 + 104] 97CHECK-NEXT: #14: Indirect [R#6 + 112] 98CHECK-NEXT: #15: Indirect [R#6 + 120] 99CHECK-NEXT: #16: Indirect [R#6 + 128] 100CHECK-NEXT: #17: Indirect [R#6 + 136] 101CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 102 103CHECK: Record ID: 12, instruction offset: 62 104CHECK-NEXT: 17 locations: 105CHECK-NEXT: #1: Register R#0 106CHECK-NEXT: #2: Register R#14 107CHECK-NEXT: #3: Register R#10 108CHECK-NEXT: #4: Register R#9 109CHECK-NEXT: #5: Register R#8 110CHECK-NEXT: #6: Register R#4 111CHECK-NEXT: #7: Register R#1 112CHECK-NEXT: #8: Register R#2 113CHECK-NEXT: #9: Register R#5 114CHECK-NEXT: #10: Register R#3 115CHECK-NEXT: #11: Register R#13 116CHECK-NEXT: #12: Register R#12 117CHECK-NEXT: #13: Register R#15 118CHECK-NEXT: #14: Indirect [R#6 + 112] 119CHECK-NEXT: #15: Indirect [R#6 + 120] 120CHECK-NEXT: #16: Indirect [R#6 + 128] 121CHECK-NEXT: #17: Indirect [R#6 + 136] 122CHECK-NEXT: 0 live-outs: [ ] 123 124CHECK: Record ID: 13, instruction offset: 50 125CHECK-NEXT: 1 locations: 126CHECK-NEXT: #1: Indirect [R#6 + -48] 127CHECK-NEXT: 0 live-outs: [ ] 128 129CHECK: Record ID: 14, instruction offset: 24 130CHECK-NEXT: 2 locations: 131CHECK-NEXT: #1: Register R#0 132CHECK-NEXT: #2: Register R#3 133CHECK-NEXT: 0 live-outs: [ ] 134 135CHECK: Record ID: 15, instruction offset: 4 136CHECK-NEXT: 1 locations: 137CHECK-NEXT: #1: Constant 33 138CHECK-NEXT: 0 live-outs: [ ] 139 140CHECK: Record ID: 16, instruction offset: 32 141CHECK-NEXT: 1 locations: 142CHECK-NEXT: #1: Direct R#6 + -32 143CHECK-NEXT: 0 live-outs: [ ] 144 145CHECK: Record ID: 17, instruction offset: 32 146CHECK-NEXT: 2 locations: 147CHECK-NEXT: #1: Direct R#6 + -8 148CHECK-NEXT: #2: Direct R#6 + -40 149CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 150 151CHECK: Record ID: 4294967295, instruction offset: 4 152CHECK-NEXT: 0 locations: 153CHECK-NEXT: 0 live-outs: [ ] 154 155CHECK: Record ID: 4294967296, instruction offset: 4 156CHECK-NEXT: 0 locations: 157CHECK-NEXT: 0 live-outs: [ ] 158 159CHECK: Record ID: 9223372036854775807, instruction offset: 4 160CHECK-NEXT: 0 locations: 161CHECK-NEXT: 0 live-outs: [ ] 162 163CHECK: Record ID: 18446744073709551615, instruction offset: 4 164CHECK-NEXT: 0 locations: 165CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 166 167CHECK: Record ID: 16, instruction offset: 18 168CHECK-NEXT: 1 locations: 169CHECK-NEXT: #1: Indirect [R#6 + -44] 170CHECK-NEXT: 0 live-outs: [ ] 171 172CHECK: Record ID: 0, instruction offset: 26 173CHECK-NEXT: 0 locations: 174CHECK-NEXT: 0 live-outs: [ ] 175