## This reproduces a bug in TailDuplication::isInCacheLine ## with accessing BlockLayout past bounds (unreachable blocks). # REQUIRES: system-linux # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \ # RUN: %s -o %t.o # RUN: link_fdata %s %t.o %t.fdata # RUN: llvm-strip --strip-unneeded %t.o # RUN: %clang %cflags -no-pie %t.o -o %t.exe -Wl,-q -nostdlib # RUN: llvm-bolt %t.exe -o %t.out --data %t.fdata --relocs \ # RUN: --tail-duplication=aggressive .globl _start _start: jmp d je _start movl %esi, %edi d: jmpq *JT0(,%rcx,8) # FDATA: 1 _start #d# 1 _start #e# 1 3 f: movl 0, %esi g: movl 0, %esi e: jmp f .rodata JT0: .quad g .quad e