mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-21 22:34:05 +00:00
Move -Zprint-type-sizes and -Zprint-vtable-sizes into codegen_and_build_linker
This commit is contained in:
parent
2975a21b5d
commit
8127461b0e
@ -41,7 +41,6 @@ use rustc_session::getopts::{self, Matches};
|
||||
use rustc_session::lint::{Lint, LintId};
|
||||
use rustc_session::output::collect_crate_types;
|
||||
use rustc_session::{config, filesearch, EarlyDiagCtxt, Session};
|
||||
use rustc_span::def_id::LOCAL_CRATE;
|
||||
use rustc_span::source_map::FileLoader;
|
||||
use rustc_span::symbol::sym;
|
||||
use rustc_span::FileName;
|
||||
@ -448,21 +447,7 @@ fn run_compiler(
|
||||
return early_exit();
|
||||
}
|
||||
|
||||
let linker = queries.codegen_and_build_linker()?;
|
||||
|
||||
// This must run after monomorphization so that all generic types
|
||||
// have been instantiated.
|
||||
if sess.opts.unstable_opts.print_type_sizes {
|
||||
sess.code_stats.print_type_sizes();
|
||||
}
|
||||
|
||||
if sess.opts.unstable_opts.print_vtable_sizes {
|
||||
let crate_name = queries.global_ctxt()?.enter(|tcx| tcx.crate_name(LOCAL_CRATE));
|
||||
|
||||
sess.code_stats.print_vtable_sizes(crate_name);
|
||||
}
|
||||
|
||||
Ok(Some(linker))
|
||||
Ok(Some(queries.codegen_and_build_linker()?))
|
||||
})?;
|
||||
|
||||
// Linking is done outside the `compiler.enter()` so that the
|
||||
|
@ -121,6 +121,18 @@ impl<'tcx> Queries<'tcx> {
|
||||
self.global_ctxt()?.enter(|tcx| {
|
||||
let ongoing_codegen = passes::start_codegen(&*self.compiler.codegen_backend, tcx)?;
|
||||
|
||||
// This must run after monomorphization so that all generic types
|
||||
// have been instantiated.
|
||||
if tcx.sess.opts.unstable_opts.print_type_sizes {
|
||||
tcx.sess.code_stats.print_type_sizes();
|
||||
}
|
||||
|
||||
if tcx.sess.opts.unstable_opts.print_vtable_sizes {
|
||||
let crate_name = tcx.crate_name(LOCAL_CRATE);
|
||||
|
||||
tcx.sess.code_stats.print_vtable_sizes(crate_name);
|
||||
}
|
||||
|
||||
Ok(Linker {
|
||||
dep_graph: tcx.dep_graph.clone(),
|
||||
output_filenames: tcx.output_filenames(()).clone(),
|
||||
|
Loading…
Reference in New Issue
Block a user