summaryrefslogtreecommitdiff
path: root/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging
AgeCommit message (Collapse)Author
2025-11-18[ORC] Move DebugObjectManagerPlugin into Debugging/ELFDebugObjectPlugin ↵Stefan Gränitz
(NFC) (#168343) In 4 years the plugin wasn't adapted to other object formats. This patch makes it specific for ELF, which will allow to remove some abstractions down the line. It also moves the plugin from LLVMOrcJIT into LLVMOrcDebugging, which didn't exist back then.
2024-10-22[ORC] Fix LLJITWithRemoteDebugging example after db21bd4fa9b.Lang Hames
2024-08-07Reapply "[CMake] Fold export_executable_symbols_* into function args. ↵Steven Wu
(#101741)" (#102138) Fix the builds with LLVM_TOOL_LLVM_DRIVER_BUILD enabled. LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES is not completely compatible with export_executable_symbols as the later will be ignored if the previous is set to NO. Fix the issue by passing if symbols need to be exported to llvm_add_exectuable so the link flag can be determined directly without calling export_executable_symbols_* later.
2024-08-06Revert "[CMake] Fold export_executable_symbols_* into function args. (#101741)"Steven Wu
This reverts commit 5c56b46a32a8856a022a54291bc9294068f7ddbd. This break lld build when using GENERATE_DRIVER.
2024-08-05[CMake] Fold export_executable_symbols_* into function args. (#101741)Steven Wu
`LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES` is not completely compatible with `export_executable_symbols` as the later will be ignored if the previous is set to NO. Fix the issue by passing if symbols need to be exported to `llvm_add_exectuable` so the link flag can be determined directly without calling `export_executable_symbols_*` later.
2024-04-24[ORC] Fix bot failure due to 7da63426ac5 (ORC task dispatch unification).Lang Hames
Fixes the failure at https://lab.llvm.org/buildbot/#/builders/131/builds/62928, and add comments about unused variable and update debugging output. Coding my way home: 6.44615S, 128.16704W
2024-01-03[Orc][examples] Revisit advanced LLJIT examples and tests (#76236)Stefan Gränitz
Some maintenance on implementation and tests: * Drop manual TargetMachineBuilder setup * Drop addDebugSupport() in favor of Orc's enableDebuggerSupport() * Check that debug support plugins append jit_code_entry * Update and reduce sample input
2023-12-08[Orc][examples] Drop target triple from input for remote debugging test (#74831)Stefan Gränitz
https://github.com/llvm/llvm-project/pull/74764 reported that the `lljit-with-remote-debugging` test fails on AArch64 hosts, because the input IR file states arch x86_64 explicitly. In order to drop the target triple we have to remove a check in the example implementation. Not sure it's fully portable now, but at least it's better than before.
2023-06-25[llvm] Add missing StringExtras.h includesElliot Goodrich
In preparation for removing the `#include "llvm/ADT/StringExtras.h"` from the header to source file of `llvm/Support/Error.h`, first add in all the missing includes that were previously included transitively through this header.
2023-04-23Re-apply "[ORC][LLJIT] Use JITLink by default on ELF/x86-64." with fixes.Lang Hames
This reapplies 85c649bc02a, which was reverted in 35767e43d62 due to failures with some example programs. The fix was to add export_executable_symbols to the example programs.
2023-04-03[Orc] Add AutoRegisterCode option for DebugObjectManagerPluginStefan Gränitz
Configure the plugin to automatically call the debugger rendezvous breakpoint `__jit_debug_register_code()` for every translation unit (enabled) or never at all (disabled). Default API and behavior remain unchanged. If AutoRegisterCode is turned off, it's the client's own responsibility to call the rendezvous breakpoint function at an appropriate time. Depending on the complexity of the debugger's rendezvous breakpoint implementation, this can provide significant performance improvements in cases where many debug objects are added in sequence. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D147310
2022-12-20[Examples] Fix TargetParser DependencyArchibald Elliott
2022-06-05Remove unneeded cl::ZeroOrMore for cl::opt/cl::list optionsFangrui Song
2022-06-04Remove unneeded cl::ZeroOrMore for cl::list optionsFangrui Song
2022-05-05[ORC] Return ExecutorAddrs rather than JITEvaluatedSymbols from LLJIT::lookup.Lang Hames
Clients don't care about linkage, and ExecutorAddr is much more ergonomic.
2021-10-13[examples] Fix LLJITWithRemoteDebugging example after 4fcc0ac15e0.Lang Hames
2021-10-10[examples] Fix LLJITWithRemoteDebugging example after f3411616896.Lang Hames
2021-09-29[ORC][examples] Port LLJITWithRemoteDebugging to SimpleRemoteEPCStefan Gränitz
Though this is a full port of the example, it is not yet fully functional due to a threading issue in the SimpleRemoteEPC implementation. The issue was discussed in D110530, but it needs a more thorough solution. For now we are dropping the dependency to the old `OrcRPC` here (it's been the last use-case in-tree). The test for the example is under review in ... and will be re-enabled once the threading issue is solved.
2021-09-27[ORC] Fix the LLJITWithRemoteDebugging example.Lang Hames
This was broken by the switch from JITTargetAddress to ExecutorAddr in 21a06254a3a.
2021-08-02[examples] Fix incomplete_type on ZLinux when compiling RemoteJITUtils.Lang Hames
When compiling on ZLinux, we got this error: /llvm-project/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/ \ RemoteJITUtils.h:80:65: required from here... /usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of 'sizeof' to incomplete type 'llvm::orc::RemoteExecutorProcessControl' static_assert(sizeof(_Tp)>0, This patch just removes nullptr from the initialization of std::unique_ptr<RemoteExecutorProcessControl> to avoid the issue. Patch by Tung D. Le (tung@jp.ibm.com). Thanks Tung! Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D107247
2021-07-29[Orc][examples] Adopt ExecutorProcessControl API and re-enable ↵Stefan Gränitz
LLJITWithRemoteDebugging The API change originated from D104694. The LLJITWithRemoteDebugging example and the test for it were disabled while it was in the works.
2021-07-01[ORC] Rename TargetProcessControl to ExecutorProcessControl. NFC.Lang Hames
This is a first step towards consistently using the term 'executor' for the process that executes JIT'd code. I've opted for 'executor' as the preferred term over 'target' as target is already heavily overloaded ("the target machine for the executor" is much clearer than "the target machine for the target").
2021-06-28[Orc][examples] Temporarily disable LLJITWithRemoteDebugging build and testStefan Gränitz
The underlying TargetProcessControl API changes with D104694. Once it landed I can patch and re-enable the example.
2021-06-27[Orc][examples] LLJITWithRemoteDebugger: fix CMake when utils are not builtMara Sophie Grosch
2021-04-07[Orc][examples] Add missing FileCheck for lit test and polish outputStefan Gränitz
2021-03-28[Orc][examples] Add missing dependency to OrcShared in LLJITWithRemoteDebuggingStefan Gränitz
2021-03-28[Orc][examples] Add LLJITWithRemoteDebugging exampleStefan Gränitz