about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2025-07-25 20:45:00 +0200
committerJakub Beránek <berykubik@gmail.com>2025-07-25 22:24:21 +0200
commit4ef18ab06206f447d887824eeb47f70cddffc6cc (patch)
tree3f1c0c3418cc42ecd2ab842ff0f402680ae2299a /compiler
parenta955f1cd09a027363729ceed919952d09f76f28e (diff)
downloadrust-4ef18ab06206f447d887824eeb47f70cddffc6cc.tar.gz
rust-4ef18ab06206f447d887824eeb47f70cddffc6cc.zip
Allow pretty printing paths with `-Zself-profile-events=args`
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_data_structures/src/profiling.rs5
-rw-r--r--compiler/rustc_session/src/session.rs1
2 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_data_structures/src/profiling.rs b/compiler/rustc_data_structures/src/profiling.rs
index 881aa679156..4a9551a60cf 100644
--- a/compiler/rustc_data_structures/src/profiling.rs
+++ b/compiler/rustc_data_structures/src/profiling.rs
@@ -551,6 +551,11 @@ impl SelfProfilerRef {
     pub fn get_self_profiler(&self) -> Option<Arc<SelfProfiler>> {
         self.profiler.clone()
     }
+
+    /// Is expensive recording of query keys and/or function arguments enabled?
+    pub fn is_args_recording_enabled(&self) -> bool {
+        self.enabled() && self.event_filter_mask.intersects(EventFilter::ARGS)
+    }
 }
 
 /// A helper for recording costly arguments to self-profiling events. Used with
diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs
index 85bd8340c3c..ddcdb7bbc18 100644
--- a/compiler/rustc_session/src/session.rs
+++ b/compiler/rustc_session/src/session.rs
@@ -313,6 +313,7 @@ impl Session {
             || self.opts.unstable_opts.query_dep_graph
             || self.opts.unstable_opts.dump_mir.is_some()
             || self.opts.unstable_opts.unpretty.is_some()
+            || self.prof.is_args_recording_enabled()
             || self.opts.output_types.contains_key(&OutputType::Mir)
             || std::env::var_os("RUSTC_LOG").is_some()
         {