[all-commits] [llvm/llvm-project] 49ee60: [BOLT][AArch64] Add support for compact code model...
Maksim Panchenko via All-commits
all-commits at lists.llvm.org
Thu Nov 7 14:51:34 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 49ee6069db372ce326bc36678e745459868c3771
https://github.com/llvm/llvm-project/commit/49ee6069db372ce326bc36678e745459868c3771
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-11-07 (Thu, 07 Nov 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Passes/LongJmp.cpp
A bolt/test/AArch64/compact-code-model.s
Log Message:
-----------
[BOLT][AArch64] Add support for compact code model (#112110)
Add `--compact-code-model` option that executes alternative branch
relaxation with an assumption that the resulting binary has less than
128MB of code. The relaxation is done in `relaxLocalBranches()`, which
operates on a function level and executes on multiple functions in
parallel.
Running the new option on AArch64 Clang binary produces slightly smaller
code and the relaxation finishes in about 1/10th of the time.
Note that the new `.text` has to be smaller than 128MB, *and* `.plt` has
to be closer than 128MB to `.text`.
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