about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/queries.rs
diff options
context:
space:
mode:
authorJubilee <workingjubilee@gmail.com>2025-06-23 12:48:20 -0700
committerGitHub <noreply@github.com>2025-06-23 12:48:20 -0700
commit8ba69d0f95fa75763fde16fce6cb6388326edf9d (patch)
treeab2f501c5b660d8681245c5153c673814bb6c4bf /compiler/rustc_interface/src/queries.rs
parentff1636b6e3fb685f43b17be8a12905203c8717da (diff)
parent332ae3b7e632eb23c39b9844f44e2f9e7409e622 (diff)
downloadrust-8ba69d0f95fa75763fde16fce6cb6388326edf9d.tar.gz
rust-8ba69d0f95fa75763fde16fce6cb6388326edf9d.zip
Rollup merge of #142784 - Kobzol:timings-codegen, r=nnethercote
Add codegen timing section

And since we now start and end the sections also using separate functions, also add some light checking if we're generating the sections correctly.

I'm integrating `--timings` into Cargo, and I realized that the codegen timings would be quite useful for that. Frontend can be computed simply as `[start of compilation, start of codegen]` for now.

r? `@nnethercote`
Diffstat (limited to 'compiler/rustc_interface/src/queries.rs')
-rw-r--r--compiler/rustc_interface/src/queries.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/queries.rs b/compiler/rustc_interface/src/queries.rs
index 877440ec7d2..2bc30fa7cb0 100644
--- a/compiler/rustc_interface/src/queries.rs
+++ b/compiler/rustc_interface/src/queries.rs
@@ -48,6 +48,7 @@ impl Linker {
         let (codegen_results, work_products) = sess.time("finish_ongoing_codegen", || {
             codegen_backend.join_codegen(self.ongoing_codegen, sess, &self.output_filenames)
         });
+        sess.timings.end_section(sess.dcx(), TimingSection::Codegen);
 
         sess.dcx().abort_if_errors();
 
@@ -89,7 +90,7 @@ impl Linker {
         }
 
         let _timer = sess.prof.verbose_generic_activity("link_crate");
-        let _timing = sess.timings.start_section(sess.dcx(), TimingSection::Linking);
+        let _timing = sess.timings.section_guard(sess.dcx(), TimingSection::Linking);
         codegen_backend.link(sess, codegen_results, self.metadata, &self.output_filenames)
     }
 }