Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
2ccf7ed2 |
| 05-Dec-2024 |
Jared Wyles <jared.wyles@gmail.com> |
[JITLink] Switch to SymbolStringPtr for Symbol names (#115796)
Use SymbolStringPtr for Symbol names in LinkGraph. This reduces string interning
on the boundary between JITLink and ORC, and allows p
[JITLink] Switch to SymbolStringPtr for Symbol names (#115796)
Use SymbolStringPtr for Symbol names in LinkGraph. This reduces string interning
on the boundary between JITLink and ORC, and allows pointer comparisons (rather
than string comparisons) between Symbol names. This should improve the
performance and readability of code that bridges between JITLink and ORC (e.g.
ObjectLinkingLayer and ObjectLinkingLayer::Plugins).
To enable use of SymbolStringPtr a std::shared_ptr<SymbolStringPool> is added to
LinkGraph and threaded through to its construction sites in LLVM and Bolt. All
LinkGraphs that are to have symbol names compared by pointer equality must point
to the same SymbolStringPool instance, which in ORC sessions should be the pool
attached to the ExecutionSession.
---------
Co-authored-by: Lang Hames <lhames@gmail.com>
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3 |
|
#
5716f836 |
| 16-Oct-2024 |
Jameson Nash <vtjnash@gmail.com> |
[JITLink] Fix i686 R_386_32 and other relocation values (#111091)
Fix R_386_32 and other relocations by correcting Addend computations.
|
Revision tags: 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 |
|
#
52b88457 |
| 27-Jun-2023 |
Job Noorman <jnoorman@igalia.com> |
[JITLink] Use SubtargetFeatures to store features in LinkGraph
D149522 introduced target features to LinkGraph. However, to avoid a public dependency on MC, the features were stored in a std::vector
[JITLink] Use SubtargetFeatures to store features in LinkGraph
D149522 introduced target features to LinkGraph. However, to avoid a public dependency on MC, the features were stored in a std::vector instead of using SubtargetFeatures directly.
Since SubtargetFeatures was moved from MC to TargetParser (D150549), we can now use it directly to store the features. This patch implements that and removes the (private) dependency on MC.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D153749
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
348d0a6b |
| 17-May-2023 |
Job Noorman <jnoorman@igalia.com> |
[JITLink] Add target features to LinkGraph
This patch adds SubtargetFeatures to LinkGraph. Similar to Triple, some targets might use this information while linking.
One example, and the reason this
[JITLink] Add target features to LinkGraph
This patch adds SubtargetFeatures to LinkGraph. Similar to Triple, some targets might use this information while linking.
One example, and the reason this patch was written, is linker relaxation on RISC-V: different relaxations are possible depending on if the C extension is enabled.
Note that the features are stored as `std::vector<std::string>` to prevent a public dependency on MC. There is still a private dependency to be able to convert SubtargetFeatures to a vector.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D149522
show more ...
|
Revision tags: 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 |
|
#
59b8db1d |
| 14-Feb-2023 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[JITLink] Drop const qualifier from argument to ELFLinkGraphBuilder's ctors (NFC)
These values are moved into the base class constructors, so the `const` doesn't make any sense. Turns out, I acciden
[JITLink] Drop const qualifier from argument to ELFLinkGraphBuilder's ctors (NFC)
These values are moved into the base class constructors, so the `const` doesn't make any sense. Turns out, I accidentally introduced it myself with 2ed91da0f1f3 and since than it spread by copy/paste.
show more ...
|
Revision tags: llvmorg-16.0.0-rc2 |
|
#
cd9fd425 |
| 29-Jan-2023 |
Kshitij Jain <jkshtj@outlook.com> |
[JITLink] Adds support for PLT based relocations to the ELF/i386 JITLink backend
This commit adds support for PLT based relocations. Specifically - 1. It adds logic to create a `PLTTableManager` in
[JITLink] Adds support for PLT based relocations to the ELF/i386 JITLink backend
This commit adds support for PLT based relocations. Specifically - 1. It adds logic to create a `PLTTableManager` in the `buildTables_ELF_i386` function, which is called as part of the post-prune JITLink passes. The `PLTTableManager` handles creating pointer jump stubs and related GOT entries for position independent code.
2. It also adds a pre-fixup pass to optimize away PLT based calls in position independent code, when possible.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D142846
show more ...
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
78e3168c |
| 14-Jan-2023 |
NAKAMURA Takumi <geek4civic@gmail.com> |
JITLink/ELF_i386.cpp: Fix a warning in D141746. [-Wswitch]
|
#
a3e975d4 |
| 14-Jan-2023 |
Kshitij Jain <jkshtj@outlook.com> |
Fixes handling logic for i386/ELF GOTPC relocation
The i386/ELF JITLink backend was not correctly handling the GOTPC relocation by skipping the in-built addend, which was manifesting itself in the f
Fixes handling logic for i386/ELF GOTPC relocation
The i386/ELF JITLink backend was not correctly handling the GOTPC relocation by skipping the in-built addend, which was manifesting itself in the form of a segmentation fault in the `LF_external_to_absolute_conversion.s` test. This CR has fixed that issue.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D141746
show more ...
|
Revision tags: llvmorg-15.0.7 |
|
#
1b123d9f |
| 19-Dec-2022 |
Kshitij Jain <jkshtj@outlook.com> |
Adds support for GOT relocations to i386/ELF backend
This CR adds support for GOT relocations to the JITLink i386/ELF backend.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D
Adds support for GOT relocations to i386/ELF backend
This CR adds support for GOT relocations to the JITLink i386/ELF backend.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D140279
show more ...
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4 |
|
#
2a3b257a |
| 31-Oct-2022 |
Kshitij Jain <jkshtj@outlook.com> |
[JITLink][i386] Adds absolute and pc relative relocation support for ELF/i386.
This commit adds support for 32 bit absolute and pc relative relocations in ELF/i386 objects, along with simple regress
[JITLink][i386] Adds absolute and pc relative relocation support for ELF/i386.
This commit adds support for 32 bit absolute and pc relative relocations in ELF/i386 objects, along with simple regression tests.
Reviewed By: sgraenitz, lhames
Differential Revision: https://reviews.llvm.org/D135523
show more ...
|
Revision tags: llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
ce377df5 |
| 21-Aug-2022 |
Kazu Hirata <kazu@google.com> |
Ensure newlines at the end of files (NFC)
|
#
eca99070 |
| 16-Aug-2022 |
Kazu Hirata <kazu@google.com> |
[ExecutionEngine] Fix a warning
This patch fixes the warning:
llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp:66:11: error: unused type alias 'Base' [-Werror,-Wunused-local-typedef]
|
#
29fe204b |
| 16-Aug-2022 |
Kshitij Jain <jkshtj@outlook.com> |
Re-apply "[JITLink] Introduce ELF/i386 backend " with correct authorship.
I (lhames) accidentally pushed 5f300397c6ae8fa7ca3547ec2b7a3cd844f3ed59 on Kshitij Jain's behalf without updating the patch
Re-apply "[JITLink] Introduce ELF/i386 backend " with correct authorship.
I (lhames) accidentally pushed 5f300397c6ae8fa7ca3547ec2b7a3cd844f3ed59 on Kshitij Jain's behalf without updating the patch author first (my apologies Kshitij!).
Re-applying with correct authorship.
https://reviews.llvm.org/D131347
show more ...
|
#
5f300397 |
| 15-Aug-2022 |
Lang Hames <lhames@gmail.com> |
[JITLink] Introduce ELF/i386 backend support for JITLink.
This initial ELF/i386 JITLink backend enables JIT-linking of minimal ELF i386 object files. No relocations are supported yet.
Reviewed By:
[JITLink] Introduce ELF/i386 backend support for JITLink.
This initial ELF/i386 JITLink backend enables JIT-linking of minimal ELF i386 object files. No relocations are supported yet.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D131347
show more ...
|