llvm/tools
Lang Hames bd1968ac09 [ORC] Generalize the ORC RPC utils to support RPC function return values and
asynchronous call/handle. Also updates the ORC remote JIT API to use the new
scheme.

The previous version of the RPC tools only supported void functions, and
required the user to manually call a paired function to return results. This
patch replaces the Procedure typedef (which only supported void functions) with
the Function typedef which supports return values, e.g.:

  Function<FooId, int32_t(std::string)> Foo;

The RPC primitives and channel operations are also expanded. RPC channels must
support four new operations: startSendMessage, endSendMessage,
startRecieveMessage and endRecieveMessage, to handle channel locking. In
addition, serialization support for tuples to RPCChannels is added to enable
multiple return values.

The RPC primitives are expanded from callAppend, call, expect and handle, to:

appendCallAsync - Make an asynchronous call to the given function.

callAsync - The same as appendCallAsync, but calls send on the channel when
            done.

callSTHandling - Blocking call for single-threaded code. Wraps a call to
                 callAsync then waits on the result, using a user-supplied
                 handler to handle any callbacks from the remote.

callST - The same as callSTHandling, except that it doesn't handle
         callbacks - it expects the result to be the first return.

expect and handle - as before.

handleResponse - Handle a response from the remote.

waitForResult - Wait for the response with the given sequence number to arrive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266581 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-18 01:06:49 +00:00
..
bugpoint Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
bugpoint-passes Remove autoconf support 2016-01-26 21:29:08 +00:00
dsymutil Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
gold Fix a use after move. 2016-04-17 18:56:49 +00:00
llc Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
lli [ORC] Generalize the ORC RPC utils to support RPC function return values and 2016-04-18 01:06:49 +00:00
llvm-ar Fix formatting and wording of llvm-ranlib error message. NFC. 2016-04-08 00:02:14 +00:00
llvm-as Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-as-fuzzer Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-bcanalyzer ThinLTO: Make aliases explicit in the summary 2016-04-16 06:56:44 +00:00
llvm-c-test [llvm-c] Expose LLVMContextGetDiagnostic{Handler,Context} 2016-04-08 09:19:02 +00:00
llvm-config llvm-config: fix --libs on Linux 2016-03-14 21:39:58 +00:00
llvm-cov Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
llvm-cxxdump Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
llvm-diff Remove uses of builtin comma operator. 2016-02-18 22:09:30 +00:00
llvm-dis Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-dwarfdump Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
llvm-dwp llvm-dwp: Add assert text 2016-04-13 18:38:33 +00:00
llvm-extract Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-go Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-jitlistener Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-link IR: Use an explicit map for debug info type uniquing 2016-04-17 03:58:21 +00:00
llvm-lto [llvm-lto] Uniform error handling. NFC. 2016-04-13 22:08:26 +00:00
llvm-mc MC: Don't access the filesystem in MCContext's constructor 2016-03-22 22:24:29 +00:00
llvm-mc-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-mcmarkup Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-nm Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-objdump Revert r265817 2016-04-08 18:15:37 +00:00
llvm-pdbdump Fix some display bugs in llvm-pdbdump. 2016-04-11 20:39:17 +00:00
llvm-profdata Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-readobj [codeview] Dump char16_t and char32_t simple types 2016-04-15 18:26:45 +00:00
llvm-rtdyld Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
llvm-shlib llvm-shlib: Remove the option to override __cxa_atexit 2016-03-14 21:54:45 +00:00
llvm-size Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
llvm-split Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-stress Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-symbolizer Remove autoconf support 2016-01-26 21:29:08 +00:00
lto LTO: Use a common LibLTOCodeGenerator::init, NFC 2016-04-16 22:25:36 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
opt Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
sancov Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
sanstats Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
verify-uselistorder Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
xcode-toolchain [CMake] [Darwin] Add support for generating Xcode-compatible toolchains that xcodebuild and xcrun can search 2015-10-15 20:09:01 +00:00
yaml2obj [yaml2obj, COFF] Correctly handle section alignment 2016-03-17 05:43:26 +00:00
CMakeLists.txt [CMake] Add the gold plugin before clang 2016-02-26 21:07:04 +00:00
LLVMBuild.txt llvm-dwp: Initial layout 2015-12-01 00:48:34 +00:00