[LLVMdev] UPCOMING API CHANGE: Threads and LLVM
deeppatel1987 at gmail.com
Mon Jun 15 18:53:28 PDT 2009
This question is a bit of far away future thought:
There's traditionally been a fundamental assumption that static
compilers are single-threaded. Many build systems assume this and
support assigning compilation jobs with one job per processor.
If the compiler becomes multi-threaded internally, how should the
build system best schedule compilation jobs?
On Mon, Jun 15, 2009 at 6:16 PM, Owen Anderson<resistor at mac.com> wrote:
> Hey folks,
> As you may be aware if you've been watching llvm-commits, I've been
> working recently on improving the ability to use LLVM across multiple
> threads. While the goal for now is to be able to hack on multiple
> Module's in parallel, this has necessitated a larger review of how
> LLVM interacts with threads.
> In a recent(-ish) patch, I added a new API: llvm_start_multithreaded
> (). This API is used to initialize the thread-safety constructs that
> are going into LLVM. I will be committing a detail update to the LLVM
> programmer's manual on how to use it.
> The major CHANGE is: the JIT will no longer be safe for executing
> threaded applications without first invoking llvm_start_multithreaded
> (). Please begin to update your client applications now if this
> affects you, as I will be throwing the switch in SVN sooner rather
> than later.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev