diff options
| author | bors <bors@rust-lang.org> | 2025-09-22 11:15:49 +0000 | 
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-09-22 11:15:49 +0000 | 
| commit | 29005cb128e6d447e6bd9c110c9a684665f95985 (patch) | |
| tree | a25020539ef1a6939c6298a4f77126720d2168d9 /compiler/rustc_codegen_llvm/src/back/write.rs | |
| parent | 9f32ccf35fb877270bc44a86a126440f04d676d0 (diff) | |
| parent | 8f80707bc5fa74992bdc2dc201a6461860769f28 (diff) | |
| download | rust-29005cb128e6d447e6bd9c110c9a684665f95985.tar.gz rust-29005cb128e6d447e6bd9c110c9a684665f95985.zip | |
Auto merge of #146879 - Zalathar:rollup-vm97j8b, r=Zalathar
Rollup of 9 pull requests Successful merges: - rust-lang/rust#145411 (regression test for Cow<[u8]> layout) - rust-lang/rust#146397 (std_detect on Darwin AArch64: update features) - rust-lang/rust#146791 (emit attribute for readonly non-pure inline assembly) - rust-lang/rust#146831 (Support ctr and lr as clobber-only registers in PowerPC inline assembly) - rust-lang/rust#146838 (Introduce "wrapper" helpers to rustdoc) - rust-lang/rust#146845 (Add self-profile events for target-machine creation) - rust-lang/rust#146846 (btree InternalNode::new safety comments) - rust-lang/rust#146858 (Make mips64el-unknown-linux-muslabi64 link dynamically) - rust-lang/rust#146878 (assert_unsafe_precondition: fix some incorrect check_language_ub) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/back/write.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/back/write.rs | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs index c4881f0aafc..1950b8288d1 100644 --- a/compiler/rustc_codegen_llvm/src/back/write.rs +++ b/compiler/rustc_codegen_llvm/src/back/write.rs @@ -204,6 +204,9 @@ pub(crate) fn target_machine_factory( optlvl: config::OptLevel, target_features: &[String], ) -> TargetMachineFactoryFn<LlvmCodegenBackend> { + // Self-profile timer for creating a _factory_. + let _prof_timer = sess.prof.generic_activity("target_machine_factory"); + let reloc_model = to_llvm_relocation_model(sess.relocation_model()); let (opt_level, _) = to_llvm_opt_settings(optlvl); @@ -259,6 +262,9 @@ pub(crate) fn target_machine_factory( .into_string() .unwrap_or_default(); let command_line_args = quote_command_line_args(&sess.expanded_args); + // Self-profile counter for the number of bytes produced by command-line quoting. + // Values are summed, so the summary result is cumulative across all TM factories. + sess.prof.artifact_size("quoted_command_line_args", "-", command_line_args.len() as u64); let debuginfo_compression = sess.opts.debuginfo_compression.to_string(); match sess.opts.debuginfo_compression { @@ -281,7 +287,11 @@ pub(crate) fn target_machine_factory( let use_wasm_eh = wants_wasm_eh(sess); + let prof = SelfProfilerRef::clone(&sess.prof); Arc::new(move |config: TargetMachineFactoryConfig| { + // Self-profile timer for invoking a factory to create a target machine. + let _prof_timer = prof.generic_activity("target_machine_factory_inner"); + let path_to_cstring_helper = |path: Option<PathBuf>| -> CString { let path = path.unwrap_or_default(); let path = path_mapping | 
