brintos

brintos / llvm-project-archived public Read only

0
0
Text · 801 B · 0f02a4b Raw
29 lines · plain
1## Verify that llvm-bolt removes nop instructions from functions with indirect2## branches that have defined control flow.3 4# REQUIRES: system-linux5 6# RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o7# RUN: %clang %cflags --target=aarch64-unknown-linux %t.o -o %t.exe -Wl,-q8# RUN: llvm-bolt %t.exe -o %t.bolt --print-normalized 2>&1 | FileCheck %s9# RUN: llvm-objdump -d --disassemble-symbols=_start %t.bolt \10# RUN:   | FileCheck %s --check-prefix=CHECK-OBJDUMP11 12# CHECK-OBJDUMP-LABEL: _start13# CHECK-OBJDUMP-NOT: nop14 15  .section .text16  .align 417  .globl _start18  .type  _start, %function19_start:20# CHECK-LABEL: Binary Function "_start"21  nop22# CHECK-NOT: nop23  br      x024# CHECK: br x0 # TAILCALL25.size _start, .-_start26 27## Force relocation mode.28  .reloc 0, R_AARCH64_NONE29