Since LLVM MC now preserves redundant AdSize override prefix (0x67), remove it in BOLT explicitly (-x86-strip-redundant-adsize, on by default). Test Plan: `bin/llvm-lit -a bolt/test/X86/addr32.s` Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D120975
26 lines
814 B
ArmAsm
26 lines
814 B
ArmAsm
# Check that we don't accidentally strip addr32 prefix
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
|
|
# RUN: ld.lld %t.o -o %t.exe -nostdlib
|
|
# RUN: llvm-objdump -d %t.exe | FileCheck %s
|
|
# RUN: llvm-bolt %t.exe -o %t.out -lite=0 -x86-strip-redundant-address-size=false
|
|
# RUN: llvm-objdump -d %t.out | FileCheck %s
|
|
# CHECK: 67 e8 {{.*}} addr32 callq {{.*}} <foo>
|
|
# RUN: llvm-bolt %t.exe -o %t.out -lite=0 -x86-strip-redundant-address-size=true
|
|
# remove test name from objdump output, to only search for addr32 in disassembly
|
|
# RUN: llvm-objdump -d %t.out | grep -v addr32.s | FileCheck %s --check-prefix=CHECK-STRIP
|
|
# CHECK-STRIP-NOT: addr32
|
|
|
|
.globl _start
|
|
.type _start, @function
|
|
_start:
|
|
.code64
|
|
addr32 callq foo
|
|
ret
|
|
.size _start, .-_start
|
|
|
|
.globl foo
|
|
.type foo, @function
|
|
foo:
|
|
ud2
|