[all-commits] [llvm/llvm-project] 8579db: [BOLT] [AArch64] Handle constant islands spanning ...
Rafael Auler via All-commits
all-commits at lists.llvm.org
Tue May 31 13:52:06 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8579db96e8c319acb02064542632f42dd63039ba
https://github.com/llvm/llvm-project/commit/8579db96e8c319acb02064542632f42dd63039ba
Author: Denis Revunov <revunov.denis at huawei-partners.com>
Date: 2022-05-31 (Tue, 31 May 2022)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/Inputs/unmarked-data.yaml
A bolt/test/AArch64/unmarked-data.test
Log Message:
-----------
[BOLT] [AArch64] Handle constant islands spanning multiple functions
Fix BOLT's constant island mapping when a constant island marked by $d
spans multiple functions. Currently, because BOLT only marks the
constant island in the first function where $d is located, if the next
function contains data at its start, BOLT will miss the data and try
to disassemble it. This patch adds code to explicitly go through all
symbols between $d and $x markers and mark their respective offsets as
data, which stops BOLT from trying to disassemble data. It also adds
MarkerType enum and refactors related functions.
Reviewed By: yota9, rafauler
Differential Revision: https://reviews.llvm.org/D126177
More information about the All-commits
mailing list