## This test ensures that a YAML profile with multiple profiles matching the same ## function is handled gracefully. # REQUIRES: system-linux # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %t/main.s -o %t.o # RUN: %clang %cflags %t.o -o %t.exe -Wl,-q -nostdlib # RUN: llvm-bolt %t.exe -o %t.null --data %t/profile.yaml \ # RUN: --profile-ignore-hash -v=1 2>&1 | FileCheck %s # CHECK: BOLT-WARNING: dropping duplicate profile for main_alias(*2) #--- main.s .globl main_alias .type main_alias, %function main_alias: .globl main .type main, %function main: .cfi_startproc cmpl $0x0, %eax retq .cfi_endproc .size main, .-main .size main_alias, .-main_alias #--- profile.yaml --- header: profile-version: 1 binary-name: 'yaml-multiple-profiles.test.tmp.exe' binary-build-id: '' profile-flags: [ lbr ] profile-origin: branch profile reader profile-events: '' dfs-order: false functions: - name: 'main(*2)' fid: 1 hash: 0x50BBA3441D436491 exec: 1 nblocks: 1 blocks: - bid: 0 insns: 2 hash: 0x4D4D8FAF7D4C0000 - name: 'main_alias(*2)' fid: 1 hash: 0x50BBA3441D436491 exec: 1 nblocks: 1 blocks: - bid: 0 insns: 2 hash: 0x4D4D8FAF7D4C0000 ...