[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
[llvm-project.git] / bolt / test / X86 / shrinkwrapping-critedge.s
blobed9a206dec41fca35233c9805c5f296062e8b6b0
1 # This reproduces a bug with shrink wrapping when trying to split critical
2 # edges originating at the same basic block.
4 # REQUIRES: system-linux
6 # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
7 # RUN: %s -o %t.o
8 # RUN: link_fdata %s %t.o %t.fdata
9 # RUN: llvm-strip --strip-unneeded %t.o
10 # RUN: %clang %cflags -no-pie %t.o -o %t.exe -Wl,-q -nostdlib
11 # RUN: llvm-bolt %t.exe --relocs -o %t.out --data %t.fdata \
12 # RUN: --frame-opt=all --simplify-conditional-tail-calls=false \
13 # RUN: --eliminate-unreachable=false
15 .globl _start
16 _start:
17 # FDATA: 0 [unknown] 0 1 _start 0 0 1
18 push %rbx
19 je b
21 pop %rbx
22 ret
24 je f
25 jmp *JT(,%rbx,8)
27 jmp d
28 mov %r14, %rdi
30 ret
31 .data
32 JT:
33 .quad c
34 .quad d
35 .quad f