HomePhabricator

[ORC] Add TargetProcessControl and TPCIndirectionUtils APIs.

Authored by lhames on Jul 16 2020, 12:51 PM.

Description

[ORC] Add TargetProcessControl and TPCIndirectionUtils APIs.

TargetProcessControl is a new API for communicating with JIT target processes.
It supports memory allocation and access, and inspection of some process
properties, e.g. the target proces triple and page size.

Centralizing these APIs allows utilities written against TargetProcessControl
to remain independent of the communication procotol with the target process
(which may be direct memory access/allocation for in-process JITing, or may
involve some form of IPC or RPC).

An initial set of TargetProcessControl-based utilities for lazy compilation is
provided by the TPCIndirectionUtils class.

An initial implementation of TargetProcessControl for in-process JITing
is provided by the SelfTargetProcessControl class.

An example program showing how the APIs can be used is provided in
llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl.

Details

Committed
lhamesJul 16 2020, 3:09 PM
Parents
rG72958c9ab1cd: [lldb] Eliminated unused local variable
Branches
Unknown
Tags
Unknown