[all-commits] [llvm/llvm-project] f34116: [ORC] Add TaskDispatch API and thread it through E...

lhames via All-commits all-commits at lists.llvm.org
Sun Oct 10 18:40:27 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f34116168964be7886622e6f9b574f5c2d460ac9
      https://github.com/llvm/llvm-project/commit/f34116168964be7886622e6f9b574f5c2d460ac9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-10-10 (Sun, 10 Oct 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    A llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    A llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  [ORC] Add TaskDispatch API and thread it through ExecutorProcessControl.

ExecutorProcessControl objects will now have a TaskDispatcher member which
should be used to dispatch work (in particular, handling incoming packets in
the implementation of remote EPC implementations like SimpleRemoteEPC).

The GenericNamedTask template can be used to wrap function objects that are
callable as 'void()' (along with an optional name to describe the task).
The makeGenericNamedTask functions can be used to create GenericNamedTask
instances without having to name the function object type.

In a future patch ExecutionSession will be updated to use the
ExecutorProcessControl's dispatcher, instead of its DispatchTaskFunction.




More information about the All-commits mailing list