[all-commits] [llvm/llvm-project] a34680: Break out OrcError and RPC
thegreatbeanz via All-commits
all-commits at lists.llvm.org
Tue Oct 29 17:31:47 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a34680a33eb1caa5e224a9432e9f3e643824dc2d
https://github.com/llvm/llvm-project/commit/a34680a33eb1caa5e224a9432e9f3e643824dc2d
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/RemoteJITUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
A llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h
A llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h
A llvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h
R llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
R llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h
R llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
M llvm/lib/ExecutionEngine/CMakeLists.txt
M llvm/lib/ExecutionEngine/LLVMBuild.txt
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/LLVMBuild.txt
R llvm/lib/ExecutionEngine/Orc/OrcError.cpp
R llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp
A llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
A llvm/lib/ExecutionEngine/OrcError/LLVMBuild.txt
A llvm/lib/ExecutionEngine/OrcError/OrcError.cpp
A llvm/lib/ExecutionEngine/OrcError/RPCError.cpp
M llvm/tools/lli/RemoteJITUtils.h
M llvm/unittests/ExecutionEngine/Orc/QueueChannel.h
M llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
Log Message:
-----------
Break out OrcError and RPC
Summary:
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.
Reviewers: lhames
Reviewed By: lhames
Subscribers: mgorny, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68732
More information about the All-commits
mailing list