[llvm-dev] RFC: Supporting clang-cl /MP

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 25 16:30:18 PDT 2019


I think we should add it, I think it would benefit a lot of users.

On Thu, Apr 25, 2019 at 7:34 AM Alexandre Ganea <alexandre.ganea at ubisoft.com>
wrote:

> Most of the changes in the demo patch in [2] are: modernization of the
> process launching API (ProcessInfo), and support for sys::WaitMany, which
> I’d like to commit separately and incrementally.
>
> Support for /MP is very small and mostly located in
> clang/trunk/lib/Driver/Compilation.cpp in the demo patch.
>

+1 for incremental patches


> We could subsequently add a new flag –j to the regular clang driver, which
> mimics /MP. Further down the road, I’d like to discuss optional support for
> concrt multithreading which, from some preliminary testing, would be much
> faster than the current cc1 sub-process invocation, at least on Windows 10
> 1703+.
>

Some people feel strongly that the compiler should not have a hard
dependency on threading libraries, so I'm not sure we should go this far.
The -cc1 process separation is mainly used for crash recovery and for
compiler developers to separate the filling in of a bunch of default header
search paths and flags from the user interface. I think as long as we
implement some kind of crash recovery mechanism, I'd be in favor of
eliminating the -cc1 process for most compiles.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190425/693a4156/attachment.html>


More information about the llvm-dev mailing list