// This test checks that references to the middle of CI from other function // are handled properly // RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o // RUN: %clang %cflags --target=aarch64-unknown-linux %t.o -o %t.exe -Wl,-q // RUN: llvm-bolt %t.exe -o %t.bolt -lite=false // RUN: llvm-objdump -d -j .text %t.bolt | FileCheck %s // CHECK: deadbeef // CHECK-NEXT: deadbeef // CHECK-NEXT: [[#%x,ADDR:]]: deadbeef // CHECK-NEXT: deadbeef // CHECK: : // CHECK-NEXT: ldr x0, 0x[[#ADDR]] // CHECK-NEXT: ret .type funcWithIsland, %function funcWithIsland: ret .word 0xdeadbeef .word 0xdeadbeef .word 0xdeadbeef .word 0xdeadbeef .size funcWithIsland, .-funcWithIsland .type func, %function func: ldr x0, funcWithIsland + 12 ret .size func, .-func .global main .type main, %function main: bl funcWithIsland bl func mov w8, #93 svc #0 .size main, .-main