diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2021-01-23 20:16:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-23 20:16:09 +0100 |
| commit | 7038bb1eb2244a831604177c36c7108a92c19a63 (patch) | |
| tree | 0d9d7fa892422f0b70f03b7d4bf44bd40fd43364 | |
| parent | fcf11296f67aa2c648e2e3c9b3bf446912c49fdc (diff) | |
| parent | 5f74ab49694a8622afd44c24021b44239573402d (diff) | |
| download | rust-7038bb1eb2244a831604177c36c7108a92c19a63.tar.gz rust-7038bb1eb2244a831604177c36c7108a92c19a63.zip | |
Rollup merge of #81252 - jyn514:resolve-timing, r=petrochenkov
Add more self-profile info to rustc_resolve The idea is to help me find out where the time is being spent in compiling the docs for `windows-rs`: https://github.com/microsoft/windows-rs/issues/420#issuecomment-764991646
| -rw-r--r-- | compiler/rustc_resolve/src/lib.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/compiler/rustc_resolve/src/lib.rs b/compiler/rustc_resolve/src/lib.rs index d293899dc0c..2b4a1d9e3fa 100644 --- a/compiler/rustc_resolve/src/lib.rs +++ b/compiler/rustc_resolve/src/lib.rs @@ -1465,16 +1465,14 @@ impl<'a> Resolver<'a> { /// Entry point to crate resolution. pub fn resolve_crate(&mut self, krate: &Crate) { - let _prof_timer = self.session.prof.generic_activity("resolve_crate"); - - ImportResolver { r: self }.finalize_imports(); - self.finalize_macro_resolutions(); - - self.late_resolve_crate(krate); - - self.check_unused(krate); - self.report_errors(krate); - self.crate_loader.postprocess(krate); + self.session.time("resolve_crate", || { + self.session.time("finalize_imports", || ImportResolver { r: self }.finalize_imports()); + self.session.time("finalize_macro_resolutions", || self.finalize_macro_resolutions()); + self.session.time("late_resolve_crate", || self.late_resolve_crate(krate)); + self.session.time("resolve_check_unused", || self.check_unused(krate)); + self.session.time("resolve_report_errors", || self.report_errors(krate)); + self.session.time("resolve_postprocess", || self.crate_loader.postprocess(krate)); + }); } pub fn traits_in_scope( |
