zahen added a comment.

In our build system every file access in an "output directory" needs to be 
accounted for.  Until this patch, the random temporary file name has forced us 
to rely on workarounds that hurt build throughput.

I've uploaded example ProcMon dumps of clang-cl.exe file accesses to help 
illustrate what the patch is trying to achieve.  In the RTM log, clang-cl 
creates a file ConsoleApplication1-dc91d1ce.obj.tmp directly in the output 
directory, writes the contents and ends by calling SetRenameInformationFile to 
"create" the final ConsoleApplication1.obj.  In the patched log the file 
ConsoleApplication1.obj is created and written to directly.

F11003490: clang9.0-RTM.CSV <https://reviews.llvm.org/F11003490>
F11003493: clang9.0-patched.CSV <https://reviews.llvm.org/F11003493>


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

https://reviews.llvm.org/D70615



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

Reply via email to