brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 1b87588 Raw
68 lines · plain
1## Test YAMLProfileReader support for pass-through blocks in non-matching edges:2## match the profile edge A -> C to the CFG with blocks A -> B -> C.3 4# REQUIRES: system-linux5# RUN: split-file %s %t6# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %t/main.s -o %t.o7# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q -nostdlib8# RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml --profile-ignore-hash -v=1 \9# RUN:   --print-cfg 2>&1 | FileCheck %s10 11# CHECK: Binary Function "main" after building cfg12# CHECK: Profile Acc : 100.0%13# CHECK-NOT: BOLT-WARNING: no successor for block .LFT0 that matches index 3 or block .Ltmp014 15#--- main.s16.globl main17.type	main, @function18main:19  .cfi_startproc20.LBB00:21  pushq   %rbp22  movq    %rsp, %rbp23  subq    $16, %rsp24  testq   %rax, %rax25  js      .LBB0326.LBB01:27  jne     .LBB0428.LBB02:29  nop30.LBB03:31  xorl    %eax, %eax32  addq    $16, %rsp33  popq    %rbp34  retq35.LBB04:36  xorl    %eax, %eax37  addq    $16, %rsp38  popq    %rbp39  retq40## For relocations against .text41.LBB05:42  call exit43  .cfi_endproc44  .size	main, .-main45 46#--- yaml47---48header:49  profile-version: 150  binary-name:     'profile-passthrough-block.s.tmp.exe'51  binary-build-id: '<unknown>'52  profile-flags:   [ lbr ]53  profile-origin:  branch profile reader54  profile-events:  ''55  dfs-order:       false56  hash-func:       xxh357functions:58  - name:            main59    fid:             060    hash:            0x000000000000000061    exec:            162    nblocks:         663    blocks:64      - bid:             165        insns:           166        succ:            [ { bid: 3, cnt: 1} ]67...68