[LLVMdev] UPCOMING API CHANGE: Threads and LLVM

Sandeep Patel 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?

deep

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.
>
> Thanks,
>
> --Owen
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>




More information about the llvm-dev mailing list