From b046e322628b2a280355e3e2e2472d6b37f926fc Mon Sep 17 00:00:00 2001 From: jyn Date: Wed, 18 Dec 2024 17:53:16 -0500 Subject: [PATCH] hook up tracing to cg_cranelift this was easier than expected. here is an example of using RUSTC_LOG with a build of cranelift from rust-lang/rust: ``` $ RUSTC_LOG=rustc_codegen_cranelift cargo +stage1 b Compiling example v0.1.0 (/home/jyn/src/example) INFO rustc_codegen_cranelift codegen crate example INFO rustc_codegen_cranelift codegen crate example Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.44s ``` --- src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index c38ef82e5..dc5d80e7a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -27,6 +27,8 @@ extern crate rustc_metadata; extern crate rustc_session; extern crate rustc_span; extern crate rustc_target; +#[macro_use] +extern crate tracing; // This prevents duplicating functions and statics that are already part of the host rustc process. #[allow(unused_extern_crates)] @@ -208,6 +210,7 @@ impl CodegenBackend for CraneliftCodegenBackend { need_metadata_module: bool, ) -> Box { tcx.dcx().abort_if_errors(); + info!("codegen crate {}", tcx.crate_name(LOCAL_CRATE)); let config = self.config.clone().unwrap_or_else(|| { BackendConfig::from_opts(&tcx.sess.opts.cg.llvm_args) .unwrap_or_else(|err| tcx.sess.dcx().fatal(err))