- User Since
- Sep 9 2014, 6:00 AM (281 w, 9 h)
Fri, Jan 24
Thanks, added const.
Add consts to references in lambda functions.
Ping. Okay to land new version?
Thu, Jan 23
Update to check for start of metadata.
Wed, Jan 22
Tue, Jan 21
Wed, Jan 15
Ping. Is this okay to land, or have I missed something? Thanks.
Fri, Jan 10
Thu, Jan 9
At first, I configured rpmalloc in the "unlimited" mode because I wanted maximum performance. I now reverted to default rpmalloc flags, and the memory usage has decreased (albeit still higher than the Windows Heap), with no impact on link time (meaning that timings are still the same as in the Summary). Below are "Max" values when linking clang.exe with ThinLTO:
Wed, Jan 8
Tue, Jan 7
Add comment to clarify usage of timeTraceProfilerCleanup.
Fix memory leak.
Mon, Jan 6
I reverted this at the end of last year MacOS build issues.
Abandoning this review. Will roll fix for these issues into new version on D71059.
Fri, Jan 3
I have done some performance evaluations here and LLVM_ENABLE_RPMALLOC does seem to improve ThinLTO link times and CPU utilisation during ThinLTO.
Thu, Jan 2
Thanks for the patch. I applied it (to 8188c998ffa4d20253444b257402907d2aa74dc2), specified LLVM_ENABLE_RPMALLOC=ON and -DLLVM_USE_CRT_RELEASE=MT and tried to build with MS cl.exe/link.exe. It fails creating a library:
Dec 24 2019
Dec 23 2019
Ping! Okay to land this? (I moved it back to needs review as this was very different from before).
Dec 18 2019
Rename scopes as requested.
Dec 17 2019
Removed "Merge input sections" scope.
Also moved "ExecuteLinker" to cover longer time period, including initLLVM() etc..
More specific implementation. Just avoid thread_local when LLVM_ENABLE_THREADS=OFF.
Dec 16 2019
Fix to work with LLVM_ENABLE_THREADS=OFF. In this mode ThinLTO still uses tasks but need to avoid re-initialising the time profiler.
Fix recent review comments.
Dec 12 2019
Thanks for the comments. I believe I've fixed them all now.
Add test for writing trace to stdout
Change to appending .time-trace as default name.
Make -time-trace-file a separate option
Use temp names in tests
Dec 11 2019
Removed StringRef("") in several places after D71347.
Added some more time scopes to account for gaps in time trace.
Updated tests for args/detail not always being present.
Here are some examples of the output from LLD. One for a llvm-tblgen ThinLTO link (-time-trace-granularity=50000) and a clang Release build (-time-trace-granularity=500). The clang link has some significant gaps in it. I'll see if I can identify where they're from and trace them.
Dec 10 2019
Add tests to patch.
Dec 5 2019
Dec 4 2019
Committed in 061123f05ff0813c36287d2105cb5344d494592b. Closing.
Agreed that this usage shouldn't be encouraged so abandoning review.
Dec 3 2019
Thanks for the updated timings. I have no objection to this going in.
Dec 2 2019
I've re-implemented this using thread local time tracing.
Nov 27 2019
Nov 26 2019
Nov 22 2019
Thanks for this change. I applied this patch (prior to splitting out https://reviews.llvm.org/D70568) and it built and worked okay (I only see one clang-cl in process explorer).