[ORC] Add Shared/OrcRTBridge, and TargetProcess/OrcRTBootstrap.
authorLang Hames <lhames@gmail.com>
Mon, 13 Sep 2021 03:45:31 +0000 (13:45 +1000)
committerLang Hames <lhames@gmail.com>
Tue, 14 Sep 2021 00:19:45 +0000 (10:19 +1000)
commit2c8e784915887f72f13ee49cd513efb446eb23be
treea26bc81e21dbaf228f3bbe91d82dc7eb4ec24cd4
parent42dace9c5b5ea059e42aaf2ee201ad9da9dc8535
[ORC] Add Shared/OrcRTBridge, and TargetProcess/OrcRTBootstrap.

This is a small first step towards reorganization of the ORC libraries:

Declarations for types and function names (as strings) to be found in the
"ORC runtime bootstrap" set are moved into OrcRTBridge.h / OrcRTBridge.cpp.

The current implementation of the "ORC runtime bootstrap" functions is moved
into OrcRTBootstrap.h and OrcRTBootstrap.cpp. It is likely that this code will
eventually be moved into ORT-RT proper (in compiler RT).

The immediate goal of this change is to make these bootstrap functions usable
for clients other than SimpleRemoteEPC/SimpleRemoteEPCServer. The first planned
client is a new RuntimeDyld::MemoryManager that will run over EPC, which will
allow us to remove the old OrcRemoteTarget code.
12 files changed:
llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h [new file with mode: 0644]
llvm/include/llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h
llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp [new file with mode: 0644]
llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp [new file with mode: 0644]
llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h [new file with mode: 0644]
llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp