[all-commits] [llvm/llvm-project] b971d4: [BOLT][AArch64] Add symbolizer for AArch64 disasse...
Maksim Panchenko via All-commits
all-commits at lists.llvm.org
Mon Mar 3 12:44:50 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b971d4d7c80821d648015281b7926ee6f93dccc9
https://github.com/llvm/llvm-project/commit/b971d4d7c80821d648015281b7926ee6f93dccc9
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-03 (Mon, 03 Mar 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
M bolt/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
Log Message:
-----------
[BOLT][AArch64] Add symbolizer for AArch64 disassembler. NFCI (#127969)
Add AArch64MCSymbolizer that symbolizes `MCInst` operands during
disassembly. The symbolization was previously done in
`BinaryFunction::disassemble()`, but it is also required by
`scanExternalRefs()` for "lite" mode functionality. Hence, similar to
x86, I've implemented the symbolizer interface that uses
`BinaryFunction` relocations to properly create instruction operands. I
expect the result of the disassembly to be identical after the change.
AArch64 disassembler was not calling `tryAddingSymbolicOperand()` for
`MOV` instructions. Fix that. Additionally, the disassembler marks `ldr`
instructions as branches by setting `IsBranch` parameter to true. Ignore
the parameter and rely on `MCPlusBuilder` interface instead.
I've modified `--check-encoding` flag to check symolization of operands
of instructions that have relocations against them.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list