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 |
|
#
529c0913 |
| 02-Nov-2024 |
Lang Hames <lhames@gmail.com> |
[ORC] Simplify JITLinkRedirectableSymbolManager, fix definition locations.
Redirectable stubs should be placed in the same JITDylib as their names, with their lifetimes managed according to the Reso
[ORC] Simplify JITLinkRedirectableSymbolManager, fix definition locations.
Redirectable stubs should be placed in the same JITDylib as their names, with their lifetimes managed according to the ResourceTracker used when adding them.
The original implementation created a single pool of stubs in the JITDylib that is passed to the JITLinkRedirectableSymbolManager constructor, but this may cause the addresses of the redirectable symbols themselves (added to the JITDylibs passed to createRedirectableSymbols) to appear outside the address range of their defining JITDylib.
This patch fixes the issue by dropping the pool and emitting a new graph for each set of requested redirectable symbols. We lose the ability to recycle stubs, but gain the ability to free them entirely. Since we don't expect stub reuse to be a common case this is likely the best trade-off.
If in the future we do need to return to a stub pool we should create a separate one for each JITDylib to ensure that addresses behave as expected.
show more ...
|
#
1d657cfe |
| 02-Nov-2024 |
Lang Hames <lhames@gmail.com> |
[ORC] Initialize native target in JITLinkRedirectionManagerTest test fixture.
The native target must be initialized here otherwise the test will be skipped unless some prior test happens to initiali
[ORC] Initialize native target in JITLinkRedirectionManagerTest test fixture.
The native target must be initialized here otherwise the test will be skipped unless some prior test happens to initialize it. Failure to initialize the native target was causing the test to be skipped when --gtest_filter was used.
show more ...
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2 |
|
#
39aae575 |
| 14-Oct-2024 |
Sunho Kim <ksunhokim123@gmail.com> |
[ORC] skip reoptimization tests on PPC.
Fix https://lab.llvm.org/buildbot/#/builders/64/builds/1202.
|
#
e5f7e73d |
| 13-Oct-2024 |
Sunho Kim <ksunhokim123@gmail.com> |
[ORC] Skip reoptimization test on COFF-ARM64.
Try to skip tests to prevent build bot failure: https://lab.llvm.org/buildbot/#/builders/161/builds/2692
|
#
222d8fad |
| 11-Oct-2024 |
Sunho Kim <ksunhokim123@gmail.com> |
[ORC] Try to skip unsupported targets in reoptimization test.
Many build bots are getting failures because of this: https://lab.llvm.org/buildbot/#/builders/140/builds/8600 https://lab.llvm.org/buil
[ORC] Try to skip unsupported targets in reoptimization test.
Many build bots are getting failures because of this: https://lab.llvm.org/buildbot/#/builders/140/builds/8600 https://lab.llvm.org/buildbot/#/builders/137/builds/6824 https://lab.llvm.org/buildbot/#/builders/140/builds/8600
show more ...
|
Revision tags: 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 |
|
#
188ede28 |
| 26-Apr-2024 |
Sunho Kim <ksunhokim123@gmail.com> |
[ORC] Implement basic reoptimization.
|
Revision tags: 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 |
|
#
2c01b278 |
| 21-Aug-2023 |
Sunho Kim <ksunhokim123@gmail.com> |
[ORC] Introduce RedirectionManager interface and implementation using JITLink.
|