[clang-tidy] remove misuse of `getLocalOrGlobal` for non common used options (#119948)
[llvm-project.git] / bolt / test / X86 / tail-duplication-prop-bug.s
blob431851d12190ff96244af15c1e754ef501d4c7ce
1 ## This reproduces a bug in aggressive tail duplication/copy propagation.
3 # REQUIRES: system-linux
4 # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
5 # RUN: link_fdata %s %t.o %t.fdata
6 # RUN: llvm-strip --strip-unneeded %t.o
7 # RUN: ld.lld %t.o -o %t.exe -q -nostdlib
8 # RUN: llvm-bolt %t.exe -o %t.out --data %t.fdata --relocs \
9 # RUN: --tail-duplication=aggressive \
10 # RUN: --tail-duplication-const-copy-propagation=1
12 .text
13 .type a, %function
14 .globl a
16 .cfi_startproc
17 jmpq *JT(,%rcx,8)
19 jb d
20 # FDATA: 1 a #b# 1 a #d# 6 60
22 cmpl %eax, %ebx
24 jmp g
25 # FDATA: 1 a #f# 1 a #g# 0 8
27 movl $0x1, %ebx
28 jmp e
29 jmp g
31 jmp h
33 jne j
35 jmp g
37 ud2
38 .cfi_endproc
39 .size a, .-a
41 .rodata
42 JT:
43 .quad b
44 .quad i