[PATCH] D68732: Break out OrcError and RPC
Chris Bieneman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 9 14:32:00 PDT 2019
beanz created this revision.
beanz added a reviewer: lhames.
Herald added subscribers: hiraditya, mgorny.
Herald added a project: LLVM.
When createing an ORC remote JIT target the current library split forces the target process to link large portions of LLVM (Core, Execution Engine, JITLink, Object, MC, Passes, RuntimeDyld, Support, Target, and TransformUtils). This occurs because the ORC RPC interfaces rely on the static globals the ORC Error types require, which starts a cycle of pulling in more and more.
This patch breaks the ORC RPC Error implementations out into an "OrcError" library which only depends on LLVM Support. It also pulls the ORC RPC headers into their own subdirectory.
With this patch code can include the Orc/RPC/*.h headers and will only incur link dependencies on LLVMOrcError and LLVMSupport.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D68732
Files:
llvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/RemoteJITUtils.h
llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h
llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h
llvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h
llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h
llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
llvm/lib/ExecutionEngine/CMakeLists.txt
llvm/lib/ExecutionEngine/LLVMBuild.txt
llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
llvm/lib/ExecutionEngine/Orc/LLVMBuild.txt
llvm/lib/ExecutionEngine/Orc/OrcError.cpp
llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp
llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
llvm/lib/ExecutionEngine/OrcError/LLVMBuild.txt
llvm/lib/ExecutionEngine/OrcError/OrcError.cpp
llvm/lib/ExecutionEngine/OrcError/RPCError.cpp
llvm/tools/lli/RemoteJITUtils.h
llvm/unittests/ExecutionEngine/Orc/QueueChannel.h
llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68732.224165.patch
Type: text/x-patch
Size: 13318 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191009/1a21e361/attachment.bin>
More information about the llvm-commits
mailing list