[all-commits] [llvm/llvm-project] abc1f3: [BOLT][AArch64] Replace NOP with adrp in AdrRelaxa...
treapster via All-commits
all-commits at lists.llvm.org
Wed Feb 22 01:57:38 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: abc1f3329831606b06a934bba8ac3fc3df522e07
https://github.com/llvm/llvm-project/commit/abc1f3329831606b06a934bba8ac3fc3df522e07
Author: Denis Revunov <revunov.denis at huawei-partners.com>
Date: 2023-02-22 (Wed, 22 Feb 2023)
Changed paths:
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/test/runtime/AArch64/adrrelaxationpass.s
Log Message:
-----------
[BOLT][AArch64] Replace NOP with adrp in AdrRelaxationPass to preserve relative offsets.
Avoid replacing one adr instruction with two adrp+add by utilizing linker-provided nops
when they are present. By doing so we preserve relative offsets of next instructions
in a function which reduces chances to break undetected jump tables. This commit makes
release-mode lld-linked clang, lld and etc work after BOLT.
Reviewed By: rafauler, yota9
Differential Revision: https://reviews.llvm.org/D143887
More information about the All-commits
mailing list