[PATCH] D90132: [ORC] Prototype ORC library reorg + RPC based TargetProcessControl.
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 30 21:32:38 PDT 2020
lhames added a comment.
I'm curious to get your take on the library breakdown and corresponding headers too. We now have:
include/llvm/ExecutionEngine/Orc -> lib/ExecutionEngine/Orc (libLLVMOrc)
include/llvm/ExecutionEngine/Orc/Shared -> lib/ExecutionEngine/OrcShared (libLLVMOrcShared)
include/llvm/ExecutionEngine/Orc/TargetProcess -> lib/ExecutionEngine/OrcTargetProcess (libLLVMOrcTargetProcess)
This achieves the initial goal that executors should not need to link Orc (instead they only need to link OrcTargetProcess and OrcShared).
The library dependencies are:
Orc -> OrcShared, RuntimeDyld, JITLink, IR, Support
OrcTargetProcess -> OrcShared
Side note: My ideal solution would be to (a) move OrcJIT out into its own top-level directory, and (2) break libLLVMOrc up into quite a few libraries: ORC Core, ObjLinking, RTDyldLinking, IR, LLJIT, Shared, and TargetProcess at least. Unfortunately I don't think this is worth pursuing at the moment: Any real Orc use-case will need one of RTDyldObjectLinkingLayer or ObjectLinkingLayer, both of which depend and libObject, which depends on everything Orc does today anyway. However if/when libObject gets refactored to eliminate these dependencies we should revisit this.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90132/new/
https://reviews.llvm.org/D90132
More information about the llvm-commits
mailing list