[PATCH] D52193: RFC: [clang] Multithreaded compilation support -- NOT FOR SUBMIT

2019-07-17 Thread Angus Hewlett via Phabricator via cfe-commits
angushewlett added a comment.

In D52193#1589657 , @aganea wrote:

>




> In D52193#1589150 , @angushewlett 
> wrote:
> 
>> They're issued in the right order, but the second doesn't wait for the first 
>> to complete.
> 
> 
> Ok, I thought the wait was handled by MSBuild. If I understand correctly what 
> you're saying, MSBuild issues both commands at the same time, but the second 
> `cl.exe /Yu /MP` somehow waits for the first `cl.exe /Yc` to complete? (maybe 
> by checking if the PCH is still open for write?)

That appears to be the case, yes.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52193/new/

https://reviews.llvm.org/D52193



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52193: RFC: [clang] Multithreaded compilation support -- NOT FOR SUBMIT

2019-07-17 Thread Angus Hewlett via Phabricator via cfe-commits
angushewlett added a comment.

In D52193#1457612 , @aganea wrote:

> That is strange. As you can’t mix /Yc and /Yu on the command line, MSBuild 
> should issue two different calls to clang-cl, one with /Yc and one /Yu /MP. 
> Can you check with ProcMon that commands are issued in the right order?


They're issued in the right order, but the second doesn't wait for the first to 
complete.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52193/new/

https://reviews.llvm.org/D52193



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52193: RFC: [clang] Multithreaded compilation support -- NOT FOR SUBMIT

2019-04-07 Thread Angus Hewlett via Phabricator via cfe-commits
angushewlett added a comment.

Having applied this patch to the clang latest (which took a bit of doing, and 
it's possible I messed up along the way) - all working in general, and a 
roughly 6x speed-up on my i7-7820X. However, PCH support does not seem to work 
correctly.

Specifically, it looks like when a file is set to build with /Yc (Create PCH), 
this is not executed serially with respect to the other jobs. Therefore it 
attempts to compile targets with /Yu (Use PCH) before the PCH has been 
generated, and fails.

When one or more files are passed with /Yc, PCH generation needs to execute to 
completion before the other jobs are started.

If I compile without using PCHs, it all works correctly (but clearly there's 
some performance hit).

Can anyone confirm if they've got /Yc & /Yu working correctly on their system?

Thanks,

  Angus.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52193/new/

https://reviews.llvm.org/D52193



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits