1*91423d71SAmir Ayupov## Check that YAML profile for non-simple function is not reported as stale. 2*91423d71SAmir Ayupov 3*91423d71SAmir Ayupov# RUN: split-file %s %t 4*91423d71SAmir Ayupov# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %t/main.s -o %t.o 5*91423d71SAmir Ayupov# RUN: %clang %cflags %t.o -o %t.exe -nostdlib 6*91423d71SAmir Ayupov# RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml --profile-ignore-hash -v=1 \ 7*91423d71SAmir Ayupov# RUN: --report-stale 2>&1 | FileCheck %s 8*91423d71SAmir Ayupov 9*91423d71SAmir Ayupov# CHECK: BOLT-INFO: could not disassemble function main. Will ignore. 10*91423d71SAmir Ayupov# CHECK: BOLT-INFO: could not disassemble function main.cold. Will ignore. 11*91423d71SAmir Ayupov# CHECK: BOLT-INFO: 0 out of 2 functions in the binary (0.0%) have non-empty execution profile 12*91423d71SAmir Ayupov# CHECK: BOLT-INFO: 1 function with profile could not be optimized 13*91423d71SAmir Ayupov 14*91423d71SAmir Ayupov#--- main.s 15*91423d71SAmir Ayupov.globl main 16*91423d71SAmir Ayupov.type main, @function 17*91423d71SAmir Ayupovmain: 18*91423d71SAmir Ayupov .cfi_startproc 19*91423d71SAmir Ayupov.LBB00: 20*91423d71SAmir Ayupov pushq %rbp 21*91423d71SAmir Ayupov movq %rsp, %rbp 22*91423d71SAmir Ayupov subq $16, %rsp 23*91423d71SAmir Ayupov testq %rax, %rax 24*91423d71SAmir Ayupov js .LBB03 25*91423d71SAmir Ayupov.LBB01: 26*91423d71SAmir Ayupov jne .LBB04 27*91423d71SAmir Ayupov.LBB02: 28*91423d71SAmir Ayupov nop 29*91423d71SAmir Ayupov.LBB03: 30*91423d71SAmir Ayupov xorl %eax, %eax 31*91423d71SAmir Ayupov addq $16, %rsp 32*91423d71SAmir Ayupov popq %rbp 33*91423d71SAmir Ayupov retq 34*91423d71SAmir Ayupov.LBB04: 35*91423d71SAmir Ayupov xorl %eax, %eax 36*91423d71SAmir Ayupov addq $16, %rsp 37*91423d71SAmir Ayupov popq %rbp 38*91423d71SAmir Ayupov retq 39*91423d71SAmir Ayupov .cfi_endproc 40*91423d71SAmir Ayupov .size main, .-main 41*91423d71SAmir Ayupov 42*91423d71SAmir Ayupov.globl main.cold 43*91423d71SAmir Ayupov.type main.cold, @function 44*91423d71SAmir Ayupovmain.cold: 45*91423d71SAmir Ayupov .cfi_startproc 46*91423d71SAmir Ayupov nop 47*91423d71SAmir Ayupov .cfi_endproc 48*91423d71SAmir Ayupov .size main.cold, .-main.cold 49*91423d71SAmir Ayupov 50*91423d71SAmir Ayupov#--- yaml 51*91423d71SAmir Ayupov--- 52*91423d71SAmir Ayupovheader: 53*91423d71SAmir Ayupov profile-version: 1 54*91423d71SAmir Ayupov binary-name: 'yaml-non-simple.s.tmp.exe' 55*91423d71SAmir Ayupov binary-build-id: '<unknown>' 56*91423d71SAmir Ayupov profile-flags: [ lbr ] 57*91423d71SAmir Ayupov profile-origin: branch profile reader 58*91423d71SAmir Ayupov profile-events: '' 59*91423d71SAmir Ayupov dfs-order: false 60*91423d71SAmir Ayupov hash-func: xxh3 61*91423d71SAmir Ayupovfunctions: 62*91423d71SAmir Ayupov - name: main 63*91423d71SAmir Ayupov fid: 0 64*91423d71SAmir Ayupov hash: 0x0000000000000000 65*91423d71SAmir Ayupov exec: 1 66*91423d71SAmir Ayupov nblocks: 5 67*91423d71SAmir Ayupov blocks: 68*91423d71SAmir Ayupov - bid: 1 69*91423d71SAmir Ayupov insns: 1 70*91423d71SAmir Ayupov succ: [ { bid: 3, cnt: 1} ] 71*91423d71SAmir Ayupov... 72