1. Break out OrcError and RPC (details)
Commit a34680a33eb1caa5e224a9432e9f3e643824dc2d by chris.bieneman
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:
The file was modifiedllvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/CMakeLists.txt
The file was addedllvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h
The file was addedllvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h
The file was modifiedllvm/tools/lli/RemoteJITUtils.h
The file was removedllvm/lib/ExecutionEngine/Orc/RPCUtils.cpp
The file was addedllvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h
The file was addedllvm/lib/ExecutionEngine/OrcError/LLVMBuild.txt
The file was addedllvm/lib/ExecutionEngine/OrcError/RPCError.cpp
The file was removedllvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
The file was addedllvm/lib/ExecutionEngine/OrcError/OrcError.cpp
The file was removedllvm/lib/ExecutionEngine/Orc/OrcError.cpp
The file was addedllvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLVMBuild.txt
The file was modifiedllvm/lib/ExecutionEngine/LLVMBuild.txt
The file was modifiedllvm/lib/ExecutionEngine/Orc/CMakeLists.txt
The file was removedllvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/RemoteJITUtils.h
The file was removedllvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/QueueChannel.h