## Check that trampoline functions are excluded from density computation. # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o # RUN: ld.lld %t.o -o %t # RUN: link_fdata %s %t %t.preagg PREAGG # RUN: llvm-strip -NLjmp %t # RUN: perf2bolt %t -p %t.preagg --pa -o %t.fdata | FileCheck %s # CHECK: Functions with density >= {{.*}} account for 99.00% total sample counts. # CHECK-NOT: the output profile is empty or the --profile-density-cutoff-hot option is set too low. .text .globl trampoline trampoline: mov main,%rax jmpq *%rax .size trampoline,.-trampoline # PREAGG: f #trampoline# #trampoline# 2 .globl main main: .cfi_startproc vmovaps %zmm31,%zmm3 add $0x4,%r9 add $0x40,%r10 dec %r14 Ljmp: jne main # PREAGG: T #Ljmp# #main# #Ljmp# 10 ret .cfi_endproc .size main,.-main