174 lines · plain
1RUN: llvm-readobj --stackmap %p/Inputs/stackmap-test.macho-x86-64 | FileCheck %s2 3; Note: the macho object file in this test was generated in the following way:4; llc -mtriple=x86_64-apple-darwin test/CodeGen/X86/stackmap.ll -o test/Object/Inputs/stackmap-test.macho-x86-64 -filetype=obj5 6CHECK: LLVM StackMap Version: 37CHECK-NEXT: Num Functions: 168CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 19CHECK-NEXT: Function address: 0, stack size: 24, callsite record count: 110CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 111CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 112CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 113CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 114CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 115CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 116CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 117CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 118CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 119CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 120CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 221CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 422CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 123CHECK-NEXT: Function address: 0, stack size: 18446744073709551615, callsite record count: 124CHECK-NEXT: Num Constants: 325CHECK-NEXT: #1: 214748364826CHECK-NEXT: #2: 429496729527CHECK-NEXT: #3: 429496729628CHECK-NEXT: Num Records: 2029CHECK-NEXT: Record ID: 1, instruction offset: 430CHECK-NEXT: 12 locations:31CHECK-NEXT: #1: Constant 4294967295, size: 832CHECK-NEXT: #2: Constant 4294967295, size: 833CHECK-NEXT: #3: Constant 65536, size: 834CHECK-NEXT: #4: Constant 2000000000, size: 835CHECK-NEXT: #5: Constant 2147483647, size: 836CHECK-NEXT: #6: Constant 4294967295, size: 837CHECK-NEXT: #7: Constant 4294967295, size: 838CHECK-NEXT: #8: Constant 0, size: 839CHECK-NEXT: #9: ConstantIndex #0 (2147483648), size: 840CHECK-NEXT: #10: ConstantIndex #1 (4294967295), size: 841CHECK-NEXT: #11: ConstantIndex #2 (4294967296), size: 842CHECK-NEXT: #12: Constant 4294967295, size: 843CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]44 45CHECK: Record ID: 3, instruction offset: 2246CHECK-NEXT: 2 locations:47CHECK-NEXT: #1: Register R#3, size: 848CHECK-NEXT: #2: Register R#14, size: 849CHECK-NEXT: 0 live-outs: [ ]50 51CHECK: Record ID: 4, instruction offset: 1052CHECK-NEXT: 2 locations:53CHECK-NEXT: #1: Register R#5, size: 854CHECK-NEXT: #2: Register R#4, size: 855CHECK-NEXT: 0 live-outs: [ ]56 57CHECK: Record ID: 5, instruction offset: 458CHECK-NEXT: 2 locations:59CHECK-NEXT: #1: Register R#0, size: 860CHECK-NEXT: #2: Register R#5, size: 861CHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ]62 63CHECK: Record ID: 6, instruction offset: 464CHECK-NEXT: 2 locations:65CHECK-NEXT: #1: Register R#4, size: 866CHECK-NEXT: #2: Register R#2, size: 867CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]68 69CHECK: Record ID: 7, instruction offset: 1070CHECK-NEXT: 2 locations:71CHECK-NEXT: #1: Register R#2, size: 872CHECK-NEXT: #2: Register R#8, size: 873CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]74 75CHECK: Record ID: 8, instruction offset: 1076CHECK-NEXT: 2 locations:77CHECK-NEXT: #1: Register R#2, size: 878CHECK-NEXT: #2: Register R#8, size: 879CHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ]80 81CHECK: Record ID: 11, instruction offset: 482CHECK-NEXT: 17 locations:83CHECK-NEXT: #1: Register R#9, size: 884CHECK-NEXT: #2: Indirect [R#6 + 16], size: 885CHECK-NEXT: #3: Indirect [R#6 + 24], size: 886CHECK-NEXT: #4: Indirect [R#6 + 32], size: 887CHECK-NEXT: #5: Indirect [R#6 + 40], size: 888CHECK-NEXT: #6: Indirect [R#6 + 48], size: 889CHECK-NEXT: #7: Indirect [R#6 + 56], size: 890CHECK-NEXT: #8: Indirect [R#6 + 64], size: 891CHECK-NEXT: #9: Indirect [R#6 + 72], size: 892CHECK-NEXT: #10: Indirect [R#6 + 80], size: 893CHECK-NEXT: #11: Indirect [R#6 + 88], size: 894CHECK-NEXT: #12: Indirect [R#6 + 96], size: 895CHECK-NEXT: #13: Indirect [R#6 + 104], size: 896CHECK-NEXT: #14: Indirect [R#6 + 112], size: 897CHECK-NEXT: #15: Indirect [R#6 + 120], size: 898CHECK-NEXT: #16: Indirect [R#6 + 128], size: 899CHECK-NEXT: #17: Indirect [R#6 + 136], size: 8100CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]101 102CHECK: Record ID: 12, instruction offset: 4103CHECK-NEXT: 17 locations:104CHECK-NEXT: #1: Register R#0, size: 8105CHECK-NEXT: #2: Indirect [R#6 + 16], size: 8106CHECK-NEXT: #3: Indirect [R#6 + 24], size: 8107CHECK-NEXT: #4: Indirect [R#6 + 32], size: 8108CHECK-NEXT: #5: Indirect [R#6 + 40], size: 8109CHECK-NEXT: #6: Indirect [R#6 + 48], size: 8110CHECK-NEXT: #7: Indirect [R#6 + 56], size: 8111CHECK-NEXT: #8: Indirect [R#6 + 64], size: 8112CHECK-NEXT: #9: Indirect [R#6 + 72], size: 8113CHECK-NEXT: #10: Indirect [R#6 + 80], size: 8114CHECK-NEXT: #11: Indirect [R#6 + 88], size: 8115CHECK-NEXT: #12: Indirect [R#6 + 96], size: 8116CHECK-NEXT: #13: Indirect [R#6 + 104], size: 8117CHECK-NEXT: #14: Indirect [R#6 + 112], size: 8118CHECK-NEXT: #15: Indirect [R#6 + 120], size: 8119CHECK-NEXT: #16: Indirect [R#6 + 128], size: 8120CHECK-NEXT: #17: Indirect [R#6 + 136], size: 8121CHECK-NEXT: 0 live-outs: [ ]122 123CHECK: Record ID: 13, instruction offset: 50124CHECK-NEXT: 1 locations:125CHECK-NEXT: #1: Indirect [R#6 + -48], size: 4126CHECK-NEXT: 0 live-outs: [ ]127 128CHECK: Record ID: 14, instruction offset: 24129CHECK-NEXT: 2 locations:130CHECK-NEXT: #1: Register R#0, size: 1131CHECK-NEXT: #2: Register R#3, size: 1132CHECK-NEXT: 0 live-outs: [ ]133 134CHECK: Record ID: 15, instruction offset: 4135CHECK-NEXT: 1 locations:136CHECK-NEXT: #1: Constant 33, size: 8137CHECK-NEXT: 0 live-outs: [ ]138 139CHECK: Record ID: 16, instruction offset: 16140CHECK-NEXT: 1 locations:141CHECK-NEXT: #1: Direct R#6 + -40, size: 8142CHECK-NEXT: 0 live-outs: [ ]143 144CHECK: Record ID: 17, instruction offset: 16145CHECK-NEXT: 2 locations:146CHECK-NEXT: #1: Direct R#6 + -8, size: 8147CHECK-NEXT: #2: Direct R#6 + -16, size: 8148CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]149 150CHECK: Record ID: 4294967295, instruction offset: 4151CHECK-NEXT: 0 locations:152CHECK-NEXT: 0 live-outs: [ ]153 154CHECK: Record ID: 4294967296, instruction offset: 4155CHECK-NEXT: 0 locations:156CHECK-NEXT: 0 live-outs: [ ]157 158CHECK: Record ID: 9223372036854775807, instruction offset: 4159CHECK-NEXT: 0 locations:160CHECK-NEXT: 0 live-outs: [ ]161 162CHECK: Record ID: 18446744073709551615, instruction offset: 4163CHECK-NEXT: 0 locations:164CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]165 166CHECK: Record ID: 16, instruction offset: 18167CHECK-NEXT: 1 locations:168CHECK-NEXT: #1: Indirect [R#6 + -44], size: 4169CHECK-NEXT: 0 live-outs: [ ]170 171CHECK: Record ID: 0, instruction offset: 25172CHECK-NEXT: 0 locations:173CHECK-NEXT: 0 live-outs: [ ]174