1*e29e30b1SFangrui SongRUN: llvm-readobj --stackmap %p/Inputs/stackmap-test.macho-x86-64 | FileCheck %s 20000afd8SLang Hames 323f06e53SSanjoy Das; Note: the macho object file in this test was generated in the following way: 4e03301a3SPhilip Reames; llc -mtriple=x86_64-apple-darwin test/CodeGen/X86/stackmap.ll -o test/Object/Inputs/stackmap-test.macho-x86-64 -filetype=obj 523f06e53SSanjoy Das 6e03301a3SPhilip ReamesCHECK: LLVM StackMap Version: 3 723f06e53SSanjoy DasCHECK-NEXT: Num Functions: 16 823f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 923f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 24, callsite record count: 1 1023f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 1123f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 1223f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 1323f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 1423f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 15e03301a3SPhilip ReamesCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 16e03301a3SPhilip ReamesCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 1723f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 1823f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 1923f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1 2023f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 2 2123f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 4 2223f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1 2323f06e53SSanjoy DasCHECK-NEXT: Function address: 0, stack size: 18446744073709551615, callsite record count: 1 2423f06e53SSanjoy DasCHECK-NEXT: Num Constants: 3 2523f06e53SSanjoy DasCHECK-NEXT: #1: 2147483648 2623f06e53SSanjoy DasCHECK-NEXT: #2: 4294967295 2723f06e53SSanjoy DasCHECK-NEXT: #3: 4294967296 2823f06e53SSanjoy DasCHECK-NEXT: Num Records: 20 2923f06e53SSanjoy DasCHECK-NEXT: Record ID: 1, instruction offset: 4 3023f06e53SSanjoy DasCHECK-NEXT: 12 locations: 31eea989a9SPhilip ReamesCHECK-NEXT: #1: Constant 4294967295, size: 8 32eea989a9SPhilip ReamesCHECK-NEXT: #2: Constant 4294967295, size: 8 33eea989a9SPhilip ReamesCHECK-NEXT: #3: Constant 65536, size: 8 34eea989a9SPhilip ReamesCHECK-NEXT: #4: Constant 2000000000, size: 8 35eea989a9SPhilip ReamesCHECK-NEXT: #5: Constant 2147483647, size: 8 36eea989a9SPhilip ReamesCHECK-NEXT: #6: Constant 4294967295, size: 8 37eea989a9SPhilip ReamesCHECK-NEXT: #7: Constant 4294967295, size: 8 38eea989a9SPhilip ReamesCHECK-NEXT: #8: Constant 0, size: 8 39eea989a9SPhilip ReamesCHECK-NEXT: #9: ConstantIndex #0 (2147483648), size: 8 40eea989a9SPhilip ReamesCHECK-NEXT: #10: ConstantIndex #1 (4294967295), size: 8 41eea989a9SPhilip ReamesCHECK-NEXT: #11: ConstantIndex #2 (4294967296), size: 8 42eea989a9SPhilip ReamesCHECK-NEXT: #12: Constant 4294967295, size: 8 430000afd8SLang HamesCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 4423f06e53SSanjoy Das 4523f06e53SSanjoy DasCHECK: Record ID: 3, instruction offset: 22 4623f06e53SSanjoy DasCHECK-NEXT: 2 locations: 47eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#3, size: 8 48eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#14, size: 8 4923f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 5023f06e53SSanjoy Das 5123f06e53SSanjoy DasCHECK: Record ID: 4, instruction offset: 10 5223f06e53SSanjoy DasCHECK-NEXT: 2 locations: 53eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#5, size: 8 54eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#4, size: 8 5523f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 5623f06e53SSanjoy Das 5723f06e53SSanjoy DasCHECK: Record ID: 5, instruction offset: 4 5823f06e53SSanjoy DasCHECK-NEXT: 2 locations: 59eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#0, size: 8 60eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#5, size: 8 6123f06e53SSanjoy DasCHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ] 6223f06e53SSanjoy Das 6323f06e53SSanjoy DasCHECK: Record ID: 6, instruction offset: 4 6423f06e53SSanjoy DasCHECK-NEXT: 2 locations: 65eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#4, size: 8 66eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#2, size: 8 6723f06e53SSanjoy DasCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 6823f06e53SSanjoy Das 6923f06e53SSanjoy DasCHECK: Record ID: 7, instruction offset: 10 7023f06e53SSanjoy DasCHECK-NEXT: 2 locations: 71eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#2, size: 8 72eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#8, size: 8 7323f06e53SSanjoy DasCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 7423f06e53SSanjoy Das 7523f06e53SSanjoy DasCHECK: Record ID: 8, instruction offset: 10 7623f06e53SSanjoy DasCHECK-NEXT: 2 locations: 77eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#2, size: 8 78eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#8, size: 8 7923f06e53SSanjoy DasCHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ] 8023f06e53SSanjoy Das 81e03301a3SPhilip ReamesCHECK: Record ID: 11, instruction offset: 4 8223f06e53SSanjoy DasCHECK-NEXT: 17 locations: 83eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#9, size: 8 84e03301a3SPhilip ReamesCHECK-NEXT: #2: Indirect [R#6 + 16], size: 8 85e03301a3SPhilip ReamesCHECK-NEXT: #3: Indirect [R#6 + 24], size: 8 86e03301a3SPhilip ReamesCHECK-NEXT: #4: Indirect [R#6 + 32], size: 8 87e03301a3SPhilip ReamesCHECK-NEXT: #5: Indirect [R#6 + 40], size: 8 88e03301a3SPhilip ReamesCHECK-NEXT: #6: Indirect [R#6 + 48], size: 8 89e03301a3SPhilip ReamesCHECK-NEXT: #7: Indirect [R#6 + 56], size: 8 90e03301a3SPhilip ReamesCHECK-NEXT: #8: Indirect [R#6 + 64], size: 8 91eea989a9SPhilip ReamesCHECK-NEXT: #9: Indirect [R#6 + 72], size: 8 92eea989a9SPhilip ReamesCHECK-NEXT: #10: Indirect [R#6 + 80], size: 8 93eea989a9SPhilip ReamesCHECK-NEXT: #11: Indirect [R#6 + 88], size: 8 94eea989a9SPhilip ReamesCHECK-NEXT: #12: Indirect [R#6 + 96], size: 8 95eea989a9SPhilip ReamesCHECK-NEXT: #13: Indirect [R#6 + 104], size: 8 96eea989a9SPhilip ReamesCHECK-NEXT: #14: Indirect [R#6 + 112], size: 8 97eea989a9SPhilip ReamesCHECK-NEXT: #15: Indirect [R#6 + 120], size: 8 98eea989a9SPhilip ReamesCHECK-NEXT: #16: Indirect [R#6 + 128], size: 8 99eea989a9SPhilip ReamesCHECK-NEXT: #17: Indirect [R#6 + 136], size: 8 10023f06e53SSanjoy DasCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 10123f06e53SSanjoy Das 102e03301a3SPhilip ReamesCHECK: Record ID: 12, instruction offset: 4 10323f06e53SSanjoy DasCHECK-NEXT: 17 locations: 104eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#0, size: 8 105e03301a3SPhilip ReamesCHECK-NEXT: #2: Indirect [R#6 + 16], size: 8 106e03301a3SPhilip ReamesCHECK-NEXT: #3: Indirect [R#6 + 24], size: 8 107e03301a3SPhilip ReamesCHECK-NEXT: #4: Indirect [R#6 + 32], size: 8 108e03301a3SPhilip ReamesCHECK-NEXT: #5: Indirect [R#6 + 40], size: 8 109e03301a3SPhilip ReamesCHECK-NEXT: #6: Indirect [R#6 + 48], size: 8 110e03301a3SPhilip ReamesCHECK-NEXT: #7: Indirect [R#6 + 56], size: 8 111e03301a3SPhilip ReamesCHECK-NEXT: #8: Indirect [R#6 + 64], size: 8 112e03301a3SPhilip ReamesCHECK-NEXT: #9: Indirect [R#6 + 72], size: 8 113e03301a3SPhilip ReamesCHECK-NEXT: #10: Indirect [R#6 + 80], size: 8 114e03301a3SPhilip ReamesCHECK-NEXT: #11: Indirect [R#6 + 88], size: 8 115e03301a3SPhilip ReamesCHECK-NEXT: #12: Indirect [R#6 + 96], size: 8 116e03301a3SPhilip ReamesCHECK-NEXT: #13: Indirect [R#6 + 104], size: 8 117eea989a9SPhilip ReamesCHECK-NEXT: #14: Indirect [R#6 + 112], size: 8 118eea989a9SPhilip ReamesCHECK-NEXT: #15: Indirect [R#6 + 120], size: 8 119eea989a9SPhilip ReamesCHECK-NEXT: #16: Indirect [R#6 + 128], size: 8 120eea989a9SPhilip ReamesCHECK-NEXT: #17: Indirect [R#6 + 136], size: 8 12123f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 12223f06e53SSanjoy Das 12323f06e53SSanjoy DasCHECK: Record ID: 13, instruction offset: 50 12423f06e53SSanjoy DasCHECK-NEXT: 1 locations: 125eea989a9SPhilip ReamesCHECK-NEXT: #1: Indirect [R#6 + -48], size: 4 12623f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 12723f06e53SSanjoy Das 12823f06e53SSanjoy DasCHECK: Record ID: 14, instruction offset: 24 12923f06e53SSanjoy DasCHECK-NEXT: 2 locations: 130eea989a9SPhilip ReamesCHECK-NEXT: #1: Register R#0, size: 1 131eea989a9SPhilip ReamesCHECK-NEXT: #2: Register R#3, size: 1 13223f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 13323f06e53SSanjoy Das 13423f06e53SSanjoy DasCHECK: Record ID: 15, instruction offset: 4 13523f06e53SSanjoy DasCHECK-NEXT: 1 locations: 136eea989a9SPhilip ReamesCHECK-NEXT: #1: Constant 33, size: 8 13723f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 13823f06e53SSanjoy Das 139e03301a3SPhilip ReamesCHECK: Record ID: 16, instruction offset: 16 14023f06e53SSanjoy DasCHECK-NEXT: 1 locations: 141e03301a3SPhilip ReamesCHECK-NEXT: #1: Direct R#6 + -40, size: 8 14223f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 14323f06e53SSanjoy Das 144e03301a3SPhilip ReamesCHECK: Record ID: 17, instruction offset: 16 14523f06e53SSanjoy DasCHECK-NEXT: 2 locations: 146eea989a9SPhilip ReamesCHECK-NEXT: #1: Direct R#6 + -8, size: 8 147e03301a3SPhilip ReamesCHECK-NEXT: #2: Direct R#6 + -16, size: 8 14823f06e53SSanjoy DasCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 14923f06e53SSanjoy Das 15023f06e53SSanjoy DasCHECK: Record ID: 4294967295, instruction offset: 4 15123f06e53SSanjoy DasCHECK-NEXT: 0 locations: 15223f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 15323f06e53SSanjoy Das 15423f06e53SSanjoy DasCHECK: Record ID: 4294967296, instruction offset: 4 15523f06e53SSanjoy DasCHECK-NEXT: 0 locations: 15623f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 15723f06e53SSanjoy Das 15823f06e53SSanjoy DasCHECK: Record ID: 9223372036854775807, instruction offset: 4 15923f06e53SSanjoy DasCHECK-NEXT: 0 locations: 16023f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 16123f06e53SSanjoy Das 16223f06e53SSanjoy DasCHECK: Record ID: 18446744073709551615, instruction offset: 4 16323f06e53SSanjoy DasCHECK-NEXT: 0 locations: 16423f06e53SSanjoy DasCHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ] 16523f06e53SSanjoy Das 16623f06e53SSanjoy DasCHECK: Record ID: 16, instruction offset: 18 16723f06e53SSanjoy DasCHECK-NEXT: 1 locations: 168eea989a9SPhilip ReamesCHECK-NEXT: #1: Indirect [R#6 + -44], size: 4 16923f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 17023f06e53SSanjoy Das 171e03301a3SPhilip ReamesCHECK: Record ID: 0, instruction offset: 25 17223f06e53SSanjoy DasCHECK-NEXT: 0 locations: 17323f06e53SSanjoy DasCHECK-NEXT: 0 live-outs: [ ] 174