[all-commits] [llvm/llvm-project] 30c456: [ORC] Add JITLink-compatible remote memory-manager...
Stefan Gränitz via All-commits
all-commits at lists.llvm.org
Fri Aug 14 02:35:16 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 30c4561e36ea634a067bf3b7de8b4668292c0931
https://github.com/llvm/llvm-project/commit/30c4561e36ea634a067bf3b7de8b4668292c0931
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2020-08-14 (Fri, 14 Aug 2020)
Changed paths:
M llvm/examples/OrcV2Examples/CMakeLists.txt
A llvm/examples/OrcV2Examples/LLJITWithChildProcess/CMakeLists.txt
A llvm/examples/OrcV2Examples/LLJITWithChildProcess/LLJITWithChildProcess.cpp
A llvm/examples/OrcV2Examples/LLJITWithChildProcess/RemoteJITUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
Log Message:
-----------
[ORC] Add JITLink-compatible remote memory-manager and LLJITWithChildProcess example
This adds RemoteJITLinkMemoryManager is a new subclass of OrcRemoteTargetClient. It implements jitlink::JITLinkMemoryManager and targets the OrcRemoteTargetRPCAPI.
Behavior should be very similar to RemoteRTDyldMemoryManager. The essential differnce with JITLink is that allocations work in isolation from its memory manager. Thus, the RemoteJITLinkMemoryManager might be seen as "JITLink allocation factory".
RPCMMAlloc is another subclass of OrcRemoteTargetClient and implements the actual functionality. It allocates working memory on the host and target memory on the remote target. Upon finalization working memory is copied over to the tagrte address space. Finalization can be asynchronous for JITLink allocations, but I don't see that it makes a difference here.
Differential Revision: https://reviews.llvm.org/D85919
Commit: 6bf74a924fe9312e6dc4ced20259ce25d55dd764
https://github.com/llvm/llvm-project/commit/6bf74a924fe9312e6dc4ced20259ce25d55dd764
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2020-08-14 (Fri, 14 Aug 2020)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
Log Message:
-----------
[ORC] In LLLazyJIT provide public access to the CompileOnDemandLayer
This is analog to how LLJIT provides public access to all its layers.
Differential Revision: https://reviews.llvm.org/D85921
Commit: 9a47bcae7c564bb83de659be601509241f31cc11
https://github.com/llvm/llvm-project/commit/9a47bcae7c564bb83de659be601509241f31cc11
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2020-08-14 (Fri, 14 Aug 2020)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Layer.cpp
Log Message:
-----------
[ORC][NFC] Refactor loop to determine name of init symbol in IRMaterializationUnit
This loop caused me a little headache once, because I didn't see the assigned variable is a member. The refactored version appears more readable to me.
Differential Revision: https://reviews.llvm.org/D85922
Compare: https://github.com/llvm/llvm-project/compare/339eba0805fb...9a47bcae7c56
More information about the All-commits
mailing list