blob: 7843804ffed8c11b8ba60431991cfa48bb789505 [file] [log] [blame] [edit]
## 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