|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
228970f6 |
| 11-Jul-2022 |
spupyrev <[email protected]> |
Revert "Rebase: [Facebook] Revert "[BOLT] Update dynamic relocations from section relocations""
This reverts commit 76029cc53e838e6d86b13b0c39152f474fb09263.
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
76029cc5 |
| 29-Mar-2022 |
Maksim Panchenko <[email protected]> |
Rebase: [Facebook] Revert "[BOLT] Update dynamic relocations from section relocations"
Summary: This reverts commit 729d29e167a553ee1190c310b6a510db8d8731ac.
Needed as a workaround for T112872562.
Rebase: [Facebook] Revert "[BOLT] Update dynamic relocations from section relocations"
Summary: This reverts commit 729d29e167a553ee1190c310b6a510db8d8731ac.
Needed as a workaround for T112872562.
Manual rebase conflict history: https://phabricator.intern.facebook.com/D35230076 https://phabricator.intern.facebook.com/D35681740
Test Plan: sandcastle
Reviewers: #llvm-bolt
Subscribers: spupyrev
Differential Revision: https://phabricator.intern.facebook.com/D37098481
show more ...
|
| #
6e26ffa0 |
| 09-Jun-2022 |
Vladislav Khmelevsky <[email protected]> |
[BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation
Supress failed to analyze relocations warning for R_AARCH64_LD_PREL_LO19 relocation. This relocation is mostly used to get value stored in CI a
[BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation
Supress failed to analyze relocations warning for R_AARCH64_LD_PREL_LO19 relocation. This relocation is mostly used to get value stored in CI and we don't process it since we are caluclating target address using the instruction value in evaluateMemOperandTarget().
Differential Revision: https://reviews.llvm.org/D127413
show more ...
|
| #
18176426 |
| 26-May-2022 |
Maksim Panchenko <[email protected]> |
[BOLT] Add support for GOTPCRELX relocations
The linker can convert instructions with GOTPCRELX relocations into a form that uses an absolute addressing with an immediate. BOLT needs to recognize su
[BOLT] Add support for GOTPCRELX relocations
The linker can convert instructions with GOTPCRELX relocations into a form that uses an absolute addressing with an immediate. BOLT needs to recognize such conversions and symbolize the immediates.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D126747
show more ...
|
| #
48e894a5 |
| 21-Apr-2022 |
Alexey Moksyakov <[email protected]> |
[BOLT] Add R_AARCH64_PREL16/32/64 relocations support
Reviewed By: yota9, rafauler
Differential Revision: https://reviews.llvm.org/D122294
|
| #
2f98c5fe |
| 07-Apr-2022 |
Vladislav Khmelevsky <[email protected]> |
[BOLT] Update skipRelocation for aarch64
The ld might relax ADRP+ADD or ADRP+LDR sequences to the ADR+NOP, add the new case to the skipRelocation for aarch64.
Vladislav Khmelevsky, Advanced Softwar
[BOLT] Update skipRelocation for aarch64
The ld might relax ADRP+ADD or ADRP+LDR sequences to the ADR+NOP, add the new case to the skipRelocation for aarch64.
Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei
Differential Revision: https://reviews.llvm.org/D123334
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
4101aa13 |
| 24-Feb-2022 |
Maksim Panchenko <[email protected]> |
[BOLT] Support PC-relative relocations with addends
PC-relative memory operand could reference a different object from the one located at the target address, e.g. when a negative offset is used. Che
[BOLT] Support PC-relative relocations with addends
PC-relative memory operand could reference a different object from the one located at the target address, e.g. when a negative offset is used. Check relocations for the real referenced object.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D120379
show more ...
|
| #
729d29e1 |
| 16-Feb-2022 |
Vladislav Khmelevsky <[email protected]> |
[BOLT] Update dynamic relocations from section relocations
This patch changes patchELFAllocatableRelaSections from going through old relocations sections and update the relocation offsets to emittin
[BOLT] Update dynamic relocations from section relocations
This patch changes patchELFAllocatableRelaSections from going through old relocations sections and update the relocation offsets to emitting the relocations stored in binary sections. This is needed in case we would like to remove and add dynamic relocations during BOLT work and it is used by golang support pass. Note: Currently we emit relocations in the old sections, so the total number of them should be equal or less of old number.
Testing: No special tests are neeeded, since this patch does not fix anything or add new functionality (it only prepares to add). Every PIC-compiled test binary will use this code and thus become a test. But just in case the aarch64 dynamic relocations tests were added.
Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei
Reviewed By: maksfb
Differential Revision: https://reviews.llvm.org/D117612
show more ...
|
| #
57f7c7d9 |
| 09-Feb-2022 |
serge-sans-paille <[email protected]> |
Add missing MC includes in bolt/
Changes needed after ef736a1c39f27ef4 that removes some implicit dependencies from MrCV headers.
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
2f09f445 |
| 21-Dec-2021 |
Maksim Panchenko <[email protected]> |
[BOLT][NFC] Fix file-description comments
Summary: Fix comments at the start of source files.
(cherry picked from FBD33274597)
|
| #
4a4045f7 |
| 08-Dec-2021 |
Elvina Yakubova <[email protected]> |
[PR] Fix update-debug-sections for AArch64
Summary: This patch adds AArch64 relocations handling in case updating of debug sections is enabled
Elvina Yakubova, Advanced Software Technology Lab, Hua
[PR] Fix update-debug-sections for AArch64
Summary: This patch adds AArch64 relocations handling in case updating of debug sections is enabled
Elvina Yakubova, Advanced Software Technology Lab, Huawei
(cherry picked from FBD33077609)
show more ...
|
| #
40c2e0fa |
| 15-Dec-2021 |
Maksim Panchenko <[email protected]> |
[BOLT][NFC] Reformat with clang-format
Summary: Selectively apply clang-format to BOLT code base.
(cherry picked from FBD33119052)
|
| #
eb9f4eb6 |
| 29-Nov-2021 |
Amir Ayupov <[email protected]> |
[BOLT][NFC] Better diagnostics for unsupported relocation types
Summary: Print the relocation name instead of just the number.
(cherry picked from FBD32704832)
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
172deb75 |
| 19-Oct-2021 |
Vladislav Khmelevsky <[email protected]> |
[PR] Aarch64: Add ABS32/16 relocations support
Summary: Add R_AARCH64_ABS32 and R_AARCH64_ABS16 relocations support
Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei
(cherry picked fr
[PR] Aarch64: Add ABS32/16 relocations support
Summary: Add R_AARCH64_ABS32 and R_AARCH64_ABS16 relocations support
Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei
(cherry picked from FBD31875254)
show more ...
|
| #
a34c753f |
| 08-Oct-2021 |
Rafael Auler <[email protected]> |
Rebase: [NFC] Refactor sources to be buildable in shared mode
Summary: Moves source files into separate components, and make explicit component dependency on each other, so LLVM build system knows h
Rebase: [NFC] Refactor sources to be buildable in shared mode
Summary: Moves source files into separate components, and make explicit component dependency on each other, so LLVM build system knows how to build BOLT in BUILD_SHARED_LIBS=ON.
Please use the -c merge.renamelimit=230 git option when rebasing your work on top of this change.
To achieve this, we create a new library to hold core IR files (most classes beginning with Binary in their names), a new library to hold Utils, some command line options shared across both RewriteInstance and core IR files, a new library called Rewrite to hold most classes concerned with running top-level functions coordinating the binary rewriting process, and a new library called Profile to hold classes dealing with profile reading and writing.
To remove the dependency from BinaryContext into X86-specific classes, we do some refactoring on the BinaryContext constructor to receive a reference to the specific backend directly from RewriteInstance. Then, the dependency on X86 or AArch64-specific classes is transfered to the Rewrite library. We can't have the Core library depend on targets because targets depend on Core (which would create a cycle).
Files implementing the entry point of a tool are transferred to the tools/ folder. All header files are transferred to the include/ folder. The src/ folder was renamed to lib/.
(cherry picked from FBD32746834)
show more ...
|