================ @@ -0,0 +1,58 @@ +/// Test the callgraph section to make sure the indirect callsites +/// (annotated by generated temporary labels .Ltmp*) are associated +/// with the corresponding callee type identifiers. + +// RUN: llvm-mc -triple=x86_64 -filetype=obj -o - < %s | llvm-readelf -x .callgraph - | FileCheck %s + + .text + .globl ball # -- Begin function ball + .p2align 4 + .type ball,@function +ball: # @ball +.Lfunc_begin0: +# %bb.0: # %entry + pushq %rbx + subq $32, %rsp + movl $0, 4(%rsp) + movq foo@GOTPCREL(%rip), %rcx + movq %rcx, 24(%rsp) + xorl %eax, %eax + callq *%rcx +.Ltmp0: + movq bar@GOTPCREL(%rip), %rax + movq %rax, 16(%rsp) + movsbl 3(%rsp), %edi + callq *%rax +.Ltmp1: + movq baz@GOTPCREL(%rip), %rax + movq %rax, 8(%rsp) + leaq 3(%rsp), %rbx + movq %rbx, %rdi + callq *%rax +.Ltmp2: + callq foo@PLT + movsbl 3(%rsp), %edi + callq bar@PLT + movq %rbx, %rdi + callq baz@PLT + addq $32, %rsp + popq %rbx + retq + .section .callgraph,"o",@progbits,.text + .quad 0 + .quad .Lfunc_begin0 + .quad 1 + .quad 3 + /// MD5 hash of the callee type ID for foo. + // CHECK: 2444f731 f5eecb3e + .quad 0x3ecbeef531f74424 + .quad .Ltmp0 + /// MD5 hash of the callee type ID for bar. + // CHECK: 5486bc59 814b8e30 + .quad 0x308e4b8159bc8654 + .quad .Ltmp1 + /// MD5 hash of the callee type ID for baz. + // CHECK: 7ade6814 f897fd77 ---------------- Prabhuk wrote:
Done. Thank you. PTAL. https://github.com/llvm/llvm-project/pull/87576 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits