Tweak thread names for CGU processing.
For non-incremental builds on Unix, currently all the thread names look like `opt regex.f10ba03eb5ec7975-cgu.0`. But they are truncated by `pthread_setname` to `opt regex.f10ba`, hiding the numeric suffix that distinguishes them. This is really annoying when using a profiler like Samply. This commit changes these thread names to a form like `opt cgu.0`, which is much better.
This commit is contained in:
parent
487bdeb519
commit
666b1b68a7
2 changed files with 45 additions and 21 deletions
|
@ -431,6 +431,9 @@ fn merge_codegen_units<'tcx>(
|
|||
codegen_units.sort_by_key(|cgu| cmp::Reverse(cgu.size_estimate()));
|
||||
let num_digits = codegen_units.len().ilog10() as usize + 1;
|
||||
for (index, cgu) in codegen_units.iter_mut().enumerate() {
|
||||
// Note: `WorkItem::short_description` depends on this name ending
|
||||
// with `-cgu.` followed by a numeric suffix. Please keep it in
|
||||
// sync with this code.
|
||||
let suffix = format!("{index:0num_digits$}");
|
||||
let numbered_codegen_unit_name =
|
||||
cgu_name_builder.build_cgu_name_no_mangle(LOCAL_CRATE, &["cgu"], Some(suffix));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue