[all-commits] [llvm/llvm-project] 0e940d: [ORC] Add TargetProcessControl and TPCIndirectionU...

lhames via All-commits all-commits at lists.llvm.org
Thu Jul 16 15:11:10 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e940d55f8a9388c42cc5998ea05212a983f05a7
      https://github.com/llvm/llvm-project/commit/0e940d55f8a9388c42cc5998ea05212a983f05a7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2020-07-16 (Thu, 16 Jul 2020)

  Changed paths:
    M llvm/examples/OrcV2Examples/CMakeLists.txt
    A llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/CMakeLists.txt
    A llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/LLJITWithTargetProcessControl.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    A llvm/include/llvm/ExecutionEngine/Orc/TPCIndirectionUtils.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/TPCIndirectionUtils.cpp
    A llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp

  Log Message:
  -----------
  [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.




More information about the All-commits mailing list