[all-commits] [llvm/llvm-project] 1a09ac: [ORC] Add CallViaEPC and CallSPSViaEPC utilities. ...

Lang Hames via All-commits all-commits at lists.llvm.org
Wed Dec 3 16:17:49 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a09ac584cee84eb79c0bc4f3b25c1c6e206078f
      https://github.com/llvm/llvm-project/commit/1a09ac584cee84eb79c0bc4f3b25c1c6e206078f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
    A llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp

  Log Message:
  -----------
  [ORC] Add CallViaEPC and CallSPSViaEPC utilities. (#170464)

These utilities simplify making typed async calls via
ExecutorProcessControl::callWrapperAsync.

CallViaEPC.h provides utilities for making typed async calls using a
given Serializer to serialize arguments and deserialize results.

callViaEPC takes a result handler function object (accepting
Expected<T>), an EPC reference, a Serializer, a target function address,
and arguments. The return type T is inferred from the handler's argument
type using CallableTraitsHelper.

EPCCaller wraps an ExecutorProcessControl& and Serializer, simplifying
repeated calls with the same serialization.

EPCCall wraps an EPCCaller and target function address, simplifying
repeated calls to a specific wrapper function.

CallSPSViaEPC.h provides utilities for using CallViaEPC with SPS
serialization.

SPSCallSerializer is a CallViaEPC-compatible serializer using SPS.

SPSEPCCaller takes an SPS function signature as its template argument
and applies SPS serialization to arguments and return values.

SPSEPCCall wraps an SPSCaller and a target function address, simplifying
repeated calls to a specific SPS wrapper function.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list