Skip to content

[ORC] Add read operations to orc::MemoryAccess. #145834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 26, 2025

Conversation

lhames
Copy link
Contributor

@lhames lhames commented Jun 26, 2025

This commit adds operations to orc::MemoryAccess for reading basic types (uint8_t, uint16_t, uint32_t, uint64_t, pointers, buffers, and strings) from executor memory.

The InProcessMemoryAccess and EPCGenericMemoryAccess implementations are updated to support the new operations.

This commit adds operations to orc::MemoryAccess for reading basic types
(uint8_t, uint16_t, uint32_t, uint64_t, pointers, buffers, and strings) from
executor memory.

The InProcessMemoryAccess and EPCGenericMemoryAccess implementations are
updated to support the new operations.
@lhames lhames force-pushed the add-read-ops-to-MemoryAccess branch from fc8507b to ab81b22 Compare June 26, 2025 09:15
@lhames lhames merged commit f93df5e into llvm:main Jun 26, 2025
7 checks passed
@lhames lhames deleted the add-read-ops-to-MemoryAccess branch June 26, 2025 23:49
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 27, 2025

LLVM Buildbot has detected a new failure on builder clang-armv8-quick running on linaro-clang-armv8-quick while building llvm at step 5 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/154/builds/17956

Here is the relevant piece of the build log for the reference
Step 5 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'LLVM-Unit :: ExecutionEngine/Orc/./OrcJITTests/69/180' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests-LLVM-Unit-541294-69-180.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=180 GTEST_SHARD_INDEX=69 /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests
--

Note: This is test shard 70 of 180.
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from EPCGenericMemoryAccessTest
[ RUN      ] EPCGenericMemoryAccessTest.WritePointers
 #0 0x09386d88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xb36d88)
 #1 0x0938450c llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xb3450c)
 #2 0x09387654 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0xeb9fd6f0 __default_rt_sa_restorer ./signal/../sysdeps/unix/sysv/linux/arm/sigrestorer.S:80:0
 #4 0x0967db80 testing::Test::Run() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe2db80)
 #5 0x0967f034 testing::TestInfo::Run() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe2f034)
 #6 0x0967fd54 testing::TestSuite::Run() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe2fd54)
 #7 0x09691c98 testing::internal::UnitTestImpl::RunAllTests() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe41c98)
 #8 0x09691218 testing::UnitTest::Run() (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe41218)
 #9 0x0965e9b8 main (/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests+0xe0e9b8)
#10 0xeb9ed7d6 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#11 0xeb9ed886 call_init ./csu/libc-start.c:128:20
#12 0xeb9ed886 __libc_start_main ./csu/libc-start.c:379:5

--
exit: -11
--
shard JSON output does not exist: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/unittests/ExecutionEngine/Orc/./OrcJITTests-LLVM-Unit-541294-69-180.json
********************


rlavaee pushed a commit to rlavaee/llvm-project that referenced this pull request Jul 1, 2025
This commit adds operations to orc::MemoryAccess for reading basic types
(uint8_t, uint16_t, uint32_t, uint64_t, pointers, buffers, and strings)
from executor memory.

The InProcessMemoryAccess and EPCGenericMemoryAccess implementations are
updated to support the new operations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants