45 lines · plain
1## Check that llvm-bolt patches functions that are getting ignored after their2## CFG was constructed.3 4# RUN: %clang %cflags %s -o %t.exe -Wl,-q5# RUN: llvm-bolt %t.exe -o %t.bolt 2>&1 | FileCheck %s6# RUN: llvm-objdump -d %t.bolt | FileCheck %s --check-prefix=CHECK-OBJDUMP7 8 .text9 10## After the CFG is built, the following function will be marked as ignored11## due to the presence of the internal call.12# CHECK: BOLT-WARNING: will skip the following function13# CHECK-NEXT: internal_call14 .globl internal_call15 .type internal_call, %function16internal_call:17 .cfi_startproc18# CHECK-OBJDUMP: <internal_call>:19 call .L120 jmp .L221# CHECK-OBJDUMP: jmp22.L1:23 jmp _start24# CHECK-OBJDUMP: jmp25# CHECK-OBJDUMP-SAME: <_start>26 ret27.L2:28 jmp _start29# CHECK-OBJDUMP: jmp30# CHECK-OBJDUMP-SAME: <_start>31 .cfi_endproc32 .size internal_call, .-internal_call33 34 .globl _start35 .type _start, %function36_start:37 .cfi_startproc38 cmpq %rdi, 139 jne .L040 movq %rdi, %rax41.L0:42 ret43 .cfi_endproc44 .size _start, .-_start45