blob: 09d4f4640a45413cd4e0dce066267bdb4691b004 [file] [log] [blame] [edit]
# Check that --print-mem-data option works properly in llvm-bolt
# RUN: split-file %s %t
# RUN: %clang %cflags -fPIC -pie %t/main.s -o %t.exe -nostdlib -Wl,-q
# RUN: llvm-bolt %t.exe -o %t.bolt --print-mem-data=true --print-cfg \
# RUN: --data %t/fdata | FileCheck %s -check-prefix=CHECK-PRINT
# RUN: llvm-bolt %t.exe -o %t.bolt --print-cfg \
# RUN: --data %t/fdata | FileCheck %s -check-prefix=CHECK-DEFAULT
# CHECK-PRINT: ldr w2, [x1], #0x4 # MemoryAccessProfile: 7 total counts :
# CHECK-PRINT-NEXT: { 0x123: 1 },
# CHECK-PRINT-NEXT: { 0x456: 2 },
# CHECK-PRINT-NEXT: { 0xabc: 4 }
# CHECK-DEFAULT-NOT: MemoryAccessProfile
#--- main.s
.text
.align 4
.global main
.type main, %function
main:
sub sp, sp, #48
add x1, sp, 8
add x3, sp, 48
mov w0, 0
.L2:
ldr w2, [x1], 4
add w0, w0, w2
cmp x1, x3
bne .L2
add sp, sp, 48
ret
.size main, .-main
# The three memory access data generated by the load at
# offset 0x10 in the main.
#--- fdata
4 main 10 4 otherSym 123 1
4 main 10 4 otherSym 456 2
4 main 10 4 otherSym abc 4