xref: /llvm-project/bolt/test/X86/function-order-lite.s (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## Check that functions listed in -function-order list take precedence over
2*11791ae7SSayhaan Siddiqui## lite mode function filtering.
3703d94d8SAmir Ayupov
4703d94d8SAmir Ayupov# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
5703d94d8SAmir Ayupov# RUN: link_fdata %s %t.o %t.fdata
6703d94d8SAmir Ayupov# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q
7703d94d8SAmir Ayupov# RUN: llvm-bolt %t.exe --data %t.fdata --lite --reorder-functions=user \
8703d94d8SAmir Ayupov# RUN:   --function-order=%p/Inputs/order-lite.txt -o %t -print-all 2>&1 \
9703d94d8SAmir Ayupov# RUN:   | FileCheck %s
10703d94d8SAmir Ayupov
11287508cdSAmir Ayupov# CHECK: 1 out of 3 functions in the binary (33.3%) have non-empty execution profile
12287508cdSAmir Ayupov# CHECK-DAG: Binary Function "main" after reorder-functions
13287508cdSAmir Ayupov# CHECK-DAG: Binary Function "foo.__uniq.123" after reorder-functions
14703d94d8SAmir Ayupov
15703d94d8SAmir Ayupov  .globl main
16703d94d8SAmir Ayupov  .type main, %function
17703d94d8SAmir Ayupovmain:
18703d94d8SAmir Ayupov	.cfi_startproc
19703d94d8SAmir Ayupov.LBB06:
20703d94d8SAmir Ayupov	callq	testfunc
21703d94d8SAmir Ayupov	retq
22703d94d8SAmir Ayupov	.cfi_endproc
23703d94d8SAmir Ayupov.size main, .-main
24703d94d8SAmir Ayupov
25703d94d8SAmir Ayupov  .globl testfunc
26703d94d8SAmir Ayupov  .type testfunc, %function
27703d94d8SAmir Ayupovtestfunc:
28703d94d8SAmir Ayupov# FDATA: 0 [unknown] 0 1 testfunc 0 1 0
29703d94d8SAmir Ayupov	.cfi_startproc
30703d94d8SAmir Ayupov	pushq	%rbp
31703d94d8SAmir Ayupov	movq	%rsp, %rbp
32703d94d8SAmir Ayupov	movl	$0x0, %eax
33703d94d8SAmir Ayupov	popq	%rbp
34703d94d8SAmir Ayupov	retq
35703d94d8SAmir Ayupov	.cfi_endproc
36703d94d8SAmir Ayupov.size testfunc, .-testfunc
37287508cdSAmir Ayupov
38287508cdSAmir Ayupov  .globl foo.__uniq.123
39287508cdSAmir Ayupov  .type foo.__uniq.123, %function
40287508cdSAmir Ayupovfoo.__uniq.123:
41287508cdSAmir Ayupov	.cfi_startproc
42287508cdSAmir Ayupov	pushq	%rbp
43287508cdSAmir Ayupov	movq	%rsp, %rbp
44287508cdSAmir Ayupov	movl	$0x0, %eax
45287508cdSAmir Ayupov	popq	%rbp
46287508cdSAmir Ayupov	retq
47287508cdSAmir Ayupov	.cfi_endproc
48287508cdSAmir Ayupov.size foo.__uniq.123, .-foo.__uniq.123
49