brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 9867f74 Raw
39 lines · plain
1# REQUIRES: system-linux2 3# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \4# RUN:   %s -o %t.o5# RUN: link_fdata %s %t.o %t.fdata6# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q7# RUN: llvm-bolt %t.exe --data %t.fdata --reorder-blocks=ext-tsp \8# RUN:    --print-finalized --tail-duplication=moderate \9# RUN:    --tail-duplication-minimum-offset=1 -o %t.out | FileCheck %s10# RUN: llvm-bolt %t.exe --data %t.fdata --print-finalized \11# RUN:    --tail-duplication=aggressive --tail-duplication-minimum-offset=1 \12# RUN:    -o %t.out | FileCheck %s --check-prefix CHECK-NOLOOP13 14# FDATA: 1 main 2 1 main #.BB2# 0 1015# FDATA: 1 main 4 1 main #.BB2# 0 2016# CHECK: BOLT-INFO: tail duplication modified 1 ({{.*}}%) functions; duplicated 1 blocks (1 bytes) responsible for {{.*}} dynamic executions ({{.*}}% of all block executions)17# CHECK: BB Layout   : .LBB00, .Ltail-dup0, .Ltmp0, .Ltmp118 19## Check that the successor of Ltail-dup0 is .LBB00, not itself.20# CHECK-NOLOOP: .Ltail-dup0 (1 instructions, align : 1)21# CHECK-NOLOOP: Predecessors: .LBB0022# CHECK-NOLOOP: retq23# CHECK-NOLOOP: .Ltmp0 (1 instructions, align : 1)24 25    .text26    .globl main27    .type main, %function28    .size main, .Lend-main29main:30    xor %eax, %eax31    jmp .BB232.BB1:33    inc %rax34.BB2:35    retq36# For relocations against .text37    call exit38.Lend:39