xref: /llvm-project/bolt/test/X86/tail-duplication-cacheline.s (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## This reproduces a bug in TailDuplication::isInCacheLine
2*11791ae7SSayhaan Siddiqui## with accessing BlockLayout past bounds (unreachable blocks).
37261655dSAmir Ayupov
47261655dSAmir Ayupov# REQUIRES: system-linux
57261655dSAmir Ayupov
67261655dSAmir Ayupov# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
77261655dSAmir Ayupov# RUN:   %s -o %t.o
87261655dSAmir Ayupov# RUN: link_fdata %s %t.o %t.fdata
97261655dSAmir Ayupov# RUN: llvm-strip --strip-unneeded %t.o
10487570fbSAmir Ayupov# RUN: %clang %cflags -no-pie %t.o -o %t.exe -Wl,-q -nostdlib
11d648aa1bSMaksim Panchenko# RUN: llvm-bolt %t.exe -o %t.out --data %t.fdata --relocs \
12d648aa1bSMaksim Panchenko# RUN:   --tail-duplication=aggressive
137261655dSAmir Ayupov  .globl _start
147261655dSAmir Ayupov_start:
157261655dSAmir Ayupov  jmp	d
167261655dSAmir Ayupov  je	_start
177261655dSAmir Ayupov  movl	%esi, %edi
187261655dSAmir Ayupovd:
197261655dSAmir Ayupov  jmpq	*JT0(,%rcx,8)
207261655dSAmir Ayupov# FDATA: 1 _start #d# 1 _start #e# 1 3
217261655dSAmir Ayupovf:
227261655dSAmir Ayupov	movl	0, %esi
237261655dSAmir Ayupovg:
247261655dSAmir Ayupov	movl	0, %esi
257261655dSAmir Ayupove:
267261655dSAmir Ayupov  jmp	f
277261655dSAmir Ayupov
287261655dSAmir Ayupov.rodata
297261655dSAmir AyupovJT0:
307261655dSAmir Ayupov	.quad	g
317261655dSAmir Ayupov	.quad	e
32