From 55626eda08cb309503c9425fc52770a7831fab7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Mi=C4=85sko?= Date: Wed, 24 Feb 2021 00:00:00 +0000 Subject: [PATCH] Use log level to control partitioning debug output --- .../src/monomorphize/partitioning/mod.rs | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/compiler/rustc_mir/src/monomorphize/partitioning/mod.rs b/compiler/rustc_mir/src/monomorphize/partitioning/mod.rs index b9fcd32250dcf..b68a8104fba72 100644 --- a/compiler/rustc_mir/src/monomorphize/partitioning/mod.rs +++ b/compiler/rustc_mir/src/monomorphize/partitioning/mod.rs @@ -239,17 +239,22 @@ where I: Iterator>, 'tcx: 'a, { - if cfg!(debug_assertions) { - debug!("{}", label); + let dump = move || { + use std::fmt::Write; + + let s = &mut String::new(); + let _ = writeln!(s, "{}", label); for cgu in cgus { - debug!("CodegenUnit {} estimated size {} :", cgu.name(), cgu.size_estimate()); + let _ = + writeln!(s, "CodegenUnit {} estimated size {} :", cgu.name(), cgu.size_estimate()); for (mono_item, linkage) in cgu.items() { let symbol_name = mono_item.symbol_name(tcx).name; let symbol_hash_start = symbol_name.rfind('h'); let symbol_hash = symbol_hash_start.map_or("", |i| &symbol_name[i..]); - debug!( + let _ = writeln!( + s, " - {} [{:?}] [{}] estimated size {}", mono_item, linkage, @@ -258,9 +263,13 @@ where ); } - debug!(""); + let _ = writeln!(s, ""); } - } + + std::mem::take(s) + }; + + debug!("{}", dump()); } #[inline(never)] // give this a place in the profiler