74 lines · plain
1## Verifies that llvm-bolt correctly sorts functions by their execution counts.2 3# REQUIRES: x86_64-linux, asserts4 5# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o6# RUN: link_fdata %s %t.o %t.fdata7# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q8# RUN: llvm-bolt %t.exe --data %t.fdata --lite --reorder-functions=exec-count \9# RUN: -v=2 --debug-only=hfsort -o %t.null 2>&1 | FileCheck %s10 11# CHECK: Starting pass: reorder-functions12# CHECK-NEXT: hot func func2 (1500)13# CHECK-NEXT: hot func func1 (500)14# CHECK-NEXT: hot func main (400)15# CHECK-NEXT: hot func func5 (110)16# CHECK-NEXT: hot func func3 (100)17# CHECK-NEXT: hot func func4 (99)18 19 .text20 .globl main21 .type main, %function22main:23# FDATA: 0 [unknown] 0 1 main 0 1 40024 .cfi_startproc25 call func126 retq27 .size _start, .-_start28 .cfi_endproc29 30 .globl func131 .type func1,@function32func1:33# FDATA: 0 [unknown] 0 1 func1 0 1 50034 .cfi_startproc35 retq36 .size func1, .-func137 .cfi_endproc38 39 .globl func240 .type func2,@function41func2:42# FDATA: 0 [unknown] 0 1 func2 0 1 150043 .cfi_startproc44 retq45 .size func2, .-func246 .cfi_endproc47 48 .globl func349 .type func3,@function50func3:51# FDATA: 0 [unknown] 0 1 func3 0 1 10052 .cfi_startproc53 retq54 .size func3, .-func355 .cfi_endproc56 57 .globl func458 .type func4,@function59func4:60# FDATA: 0 [unknown] 0 1 func4 0 1 9961 .cfi_startproc62 retq63 .size func4, .-func464 .cfi_endproc65 66 .globl func567 .type func5,@function68func5:69# FDATA: 0 [unknown] 0 1 func5 0 1 11070 .cfi_startproc71 retq72 .size func5, .-func573 .cfi_endproc74