1. [Support] Add a way to run a function on a detached thread (details)
Commit 40668abca4d307e02b33345cfdb7271549ff48d0 by sammccall
[Support] Add a way to run a function on a detached thread
This roughly mimics `std::thread(...).detach()` except it allows to
customize the stack size. Required for
I've decided against reusing the existing `llvm_execute_on_thread`
because it's not obvious what to do with the ownership of the passed
1. If we pass possibly owning functions data to
  we'll lose the ability to pass small non-owning non-allocating
  for the joining case (as it's used now). Is it important enough? 2. If
we use the non-owning interface in the new use case, we'll force
  clients to transfer ownership to the spawned thread manually, but
  similar code would still have to exist inside
  `llvm_execute_on_thread(_async)` anyway (as we can't just pass the
  non-owning pointer to pthreads and Windows implementations, and would
  forced to wrap it in some structure, and deal with its ownership.
Patch by Dmitry Kozhevnikov!
Differential Revision:
The file was modifiedllvm/lib/Support/Unix/Unix.h
The file was modifiedllvm/unittests/Support/Threading.cpp
The file was modifiedllvm/lib/Support/Threading.cpp
The file was modifiedllvm/lib/Support/Unix/
The file was modifiedllvm/lib/Support/Windows/
The file was modifiedllvm/lib/Support/Windows/WindowsSupport.h
The file was modifiedllvm/include/llvm/Support/Threading.h
The file was modifiedllvm/lib/Support/Windows/