[all-commits] [llvm/llvm-project] 71e035: [ORC] Generalize RTBridge callers over signature t...

Lang Hames via All-commits all-commits at lists.llvm.org
Thu Jul 30 18:39:52 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 71e0359a1acd9ab267c72fcf9dfb683afc59fbea
      https://github.com/llvm/llvm-project/commit/71e0359a1acd9ab267c72fcf9dfb683afc59fbea
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp

  Log Message:
  -----------
  [ORC] Generalize RTBridge callers over signature types. (#213179)

Recast the RTBridge callers as templates parameterized on the call
signature, so future executor accessors can be added as thin
declarations rather than hand-written classes.

rt::Caller<RetT(ArgTs...)> is the runtime-agnostic caller interface for
a given signature, providing the asynchronous and synchronous call
operators and the associated result types. rt::MainCaller is now an
alias for rt::Caller<int64_t(ArrayRef<std::string>)>.

rt::sps::Caller<BaseT, SPSSigT, CIName> implements any such interface by
invoking an executor-side SPS wrapper in the runtime's controller
interface, deducing the argument and result types from BaseT. A concrete
caller is a typedef supplying the interface, its SPS signature, and the
CI entry-point name; see rt::sps::MainCaller.

MainCaller's observable behavior is unchanged (the existing
SPSCallersTest still passes). The out-of-line destructor anchor in
OrcRTBridge.cpp is dropped, as the templated base now provides an inline
defaulted destructor.



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