40 lines
937 B
ArmAsm
40 lines
937 B
ArmAsm
// 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: <func>:
|
|
// 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
|