Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation appears to loop indefinitely #89195

Closed
khuey opened this issue Sep 23, 2021 · 46 comments
Closed

Compilation appears to loop indefinitely #89195

khuey opened this issue Sep 23, 2021 · 46 comments
Assignees
Labels
C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone

Comments

@khuey
Copy link
Contributor

khuey commented Sep 23, 2021

I have a crate that appears to iloop when being built with nightly 308dffd 2021-09-22. This crate is not open source.

What can I provide to diagnose this?

@khuey khuey added the C-bug Category: This is a bug. label Sep 23, 2021
@the8472
Copy link
Member

the8472 commented Sep 23, 2021

You can attach gdb to the running process and then thread apply all bt to get backtraces. Or you can sample the process with perf record --call-graph dwarf and then generate a flamegraph which should provide an overview where it's spending its cycles.

@khuey
Copy link
Contributor Author

khuey commented Sep 23, 2021

Do the prebuilt nightlies include enough symbols to get useful backtraces?

@the8472
Copy link
Member

the8472 commented Sep 23, 2021

Yes.

Another and perhaps more helpful option is to create a reduced testcase. http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/ and https://github.com/jethrogb/rust-reduce

Bisecting is another option. https://github.com/rust-lang/cargo-bisect-rustc/blob/master/TUTORIAL.md

@khuey
Copy link
Contributor Author

khuey commented Sep 23, 2021

   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#1  0x00007fd06c55f458 in rustc_infer::infer::InferCtxt::commit_if_ok () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#2  0x00007fd06c575dc7 in rustc_trait_selection::traits::project::poly_project_and_unify_type ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#3  0x00007fd06c5901f1 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#4  0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#5  0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#6  0x00007fd06c590298 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#7  0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#8  0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#9  0x00007fd06c590298 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#10 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#11 0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#12 0x00007fd06c590298 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#13 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#14 0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#15 0x00007fd06c590298 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#16 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#17 0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#18 0x00007fd06c590298 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#19 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#20 0x00007fd06c5ab22f in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
<snip>
#58 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#59 0x00007fd06c5ab52a in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#60 0x00007fd06c564192 in rustc_infer::infer::InferCtxt::probe () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#61 0x00007fd06c5b7d23 in rustc_trait_selection::traits::select::SelectionContext::evaluate_candidate ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#62 0x00007fd06c5acaee in rustc_trait_selection::traits::select::SelectionContext::evaluate_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#63 0x00007fd06c57d788 in rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#64 0x00007fd06c5bd538 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#65 0x00007fd06c5abdc5 in rustc_trait_selection::traits::select::SelectionContext::evaluate_trait_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#66 0x00007fd06c590138 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#67 0x00007fd06c5b7b40 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#68 0x00007fd06c5634d7 in rustc_infer::infer::InferCtxt::probe () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#69 0x00007fd06c29539d in rustc_infer::infer::InferCtxtBuilder::enter_with_canonical ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#70 0x00007fd06c29b3ab in rustc_traits::evaluate_obligation::evaluate_obligation::h9c3d4e486cbe91f8 ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#71 0x00007fd06cd83378 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_task ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#72 0x00007fd06cd163ca in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#73 0x00007fd06c2e06e9 in rustc_query_system::query::plumbing::get_query ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#74 0x00007fd06c338a14 in <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::evaluate_obligation ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#75 0x00007fd06c5685c9 in <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#76 0x00007fd06c5689e0 in <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#77 0x00007fd06c5850fd in rustc_trait_selection::traits::fulfill::FulfillProcessor::process_trait_obligation ()                                                                     [34/1837]
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#78 0x00007fd06c583cf6 in rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#79 0x00007fd06c59b86b in rustc_data_structures::obligation_forest::ObligationForest<O>::process_obligations ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#80 0x00007fd06c58327c in rustc_trait_selection::traits::fulfill::FulfillmentContext::select::h5feaa97543394f08 ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#81 0x00007fd06c5838c6 in <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#82 0x00007fd06c29634d in rustc_infer::infer::canonical::query_response::_$LT$impl$u20$rustc_infer..infer..InferCtxt$GT$::make_canonicalized_query_response::h505642823a5ca85b ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#83 0x00007fd06c293555 in <rustc_infer::infer::InferCtxtBuilder as rustc_trait_selection::infer::InferCtxtBuilderExt>::enter_canonical_trait_query ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#84 0x00007fd06c299b09 in rustc_traits::type_op::type_op_prove_predicate::he50eda9b8e2602e2 ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#85 0x00007fd06cd7a808 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_task ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#86 0x00007fd06cd1629a in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#87 0x00007fd06c2f94dd in rustc_query_system::query::plumbing::get_query ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#88 0x00007fd06c338a51 in <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::type_op_prove_predicate ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#89 0x00007fd06c5c137e in rustc_trait_selection::traits::query::type_op::prove_predicate::<impl rustc_trait_selection::traits::query::type_op::QueryTypeOp for rustc_middle::traits::query::t
ype_op::ProvePredicate>::perform_query () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#90 0x00007fd06c1bbb8f in rustc_trait_selection::traits::query::type_op::QueryTypeOp::fully_perform_into ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#91 0x00007fd06c1e54b7 in <rustc_middle::ty::ParamEnvAnd<Q> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#92 0x00007fd06c1f9d53 in rustc_borrowck::type_check::canonical::<impl rustc_borrowck::type_check::TypeChecker>::prove_predicate ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#93 0x00007fd06c1f980d in rustc_borrowck::type_check::canonical::<impl rustc_borrowck::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#94 0x00007fd06c1fe709 in <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_constant ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#95 0x00007fd06c200bd3 in <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_body ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#96 0x00007fd06c1facf0 in rustc_borrowck::type_check::type_check () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#97 0x00007fd06c1c65dc in rustc_borrowck::nll::compute_regions () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#98 0x00007fd06c1d562c in rustc_borrowck::do_mir_borrowck () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#99 0x00007fd06c1ad083 in rustc_infer::infer::InferCtxtBuilder::enter () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#100 0x00007fd06c1d4a44 in rustc_borrowck::mir_borrowck () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#101 0x00007fd06c1cfd91 in core::ops::function::FnOnce::call_once () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#102 0x00007fd06cd6b731 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_task ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#103 0x00007fd06cd13423 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#104 0x00007fd06c2cccbd in rustc_query_system::query::plumbing::try_execute_query::hb362ed745d75a2d5 ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#105 0x00007fd06c336269 in <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#106 0x00007fd06bd691d8 in rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::par_body_owners ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#107 0x00007fd06c768caa in rustc_interface::passes::analysis () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#108 0x00007fd06cd6fb7f in rustc_query_system::dep_graph::graph::DepGraph<K>::with_task ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#109 0x00007fd06cd13559 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#110 0x00007fd06cc5749b in rustc_query_system::query::plumbing::try_execute_query::h784269645558384c ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#111 0x00007fd06cd2d9f2 in <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#112 0x00007fd06c75fb19 in rustc_interface::passes::QueryContext::enter ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#113 0x00007fd06c746af4 in rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#114 0x00007fd06c733e15 in rustc_span::with_source_map () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#115 0x00007fd06c74641c in scoped_tls::ScopedKey<T>::set () from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#116 0x00007fd06c734e4d in std::sys_common::backtrace::__rust_begin_short_backtrace ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#117 0x00007fd06c7326b5 in core::ops::function::FnOnce::call_once{{vtable-shim}} ()
   from /home/khuey/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-d2cc96ed75437e33.so
#118 0x00007fd06a3d9df3 in alloc::boxed::{impl#44}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> ()
    at /rustc/308dffd25cb55bbb4a1fbee9822cf82c6a5d012d/library/alloc/src/boxed.rs:1638
#119 alloc::boxed::{impl#44}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> ()
    at /rustc/308dffd25cb55bbb4a1fbee9822cf82c6a5d012d/library/alloc/src/boxed.rs:1638
#120 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:106
#121 0x00007fd06a2e9609 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#122 0x00007fd06a1fd293 in clone () from /lib/x86_64-linux-gnu/libc.so.6

@khuey
Copy link
Contributor Author

khuey commented Sep 24, 2021

searched nightlies: from nightly-2021-09-04 to nightly-2021-09-22
regressed nightly: nightly-2021-09-18
searched commits: from e4828d5 to 9dd4ce8
regressed commit: e0c38af

bisected with cargo-bisect-rustc v0.6.0

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --start=2021-09-04 --end=2021-09-22 --script=./build-binaries.sh --prompt

@khuey
Copy link
Contributor Author

khuey commented Sep 24, 2021

Reducing this to a testcase isn't going to happen unless there's an automated process for that.

@the8472 the8472 added I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Sep 24, 2021
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Sep 24, 2021
@camelid
Copy link
Member

camelid commented Sep 24, 2021

cc @Aaron1011

@apiraino apiraino added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example labels Sep 30, 2021
@hawkw
Copy link
Contributor

hawkw commented Sep 30, 2021

We're seeing a very similar issue building the linkerd2-proxy codebase. Our cargo builds took roughly five minutes prior to the regression, and afterwards take significantly longer --- as long as 82 minutes (!).

Running cargo bisect-rustc, we also found that e0c38af was the regressed commit.

@olix0r ran builds with -Z time-passes:

We found that the regressed build spent a majority of its time in the monomorphization_collector_graph_walk pass:

time: 4629.968; rss:  239MB ->  626MB ( +388MB) monomorphization_collector_graph_walk
time:   1.291; rss:  626MB ->  742MB ( +115MB)  partition_and_assert_distinct_symbols
time:   0.000; rss:  726MB ->  726MB (   +0MB)  write_allocator_module
time:   0.000; rss:  726MB ->  726MB (   +0MB)  find_cgu_reuse
time: 341.232; rss:  726MB ->  894MB ( +168MB)  codegen_to_LLVM_IR
time: 4972.556; rss:  239MB ->  894MB ( +656MB) codegen_crate

Unfortunately, we also don't have a minimized reproduction, but we do, at least, have an open-source project that can be checked out and tested against (and should be easy to build with cargo build). Hopefully that's helpful!

@hawkw
Copy link
Contributor

hawkw commented Sep 30, 2021

I can also provide the complete output from cargo bisect-rustc if that's helpful, btw.

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

Reducing this to a testcase isn't going to happen unless there's an automated process for that.

You can use tools like creduce, the hard part is making a "is this still a repro" wrapper around rustc.
Maybe a good way would be to first run the known good rustc, require it to succeed (so that invalid reductions don't waste more time), and use the time it took as a comparison point for the newer/broken rustc (say, if it doesn't finish in double the time, the input is still a reproduction).

However, something else worries me. Your backtrace shows analysis and mir_borrowck. Which AFAIK cannot overlap with monomorphization_collector_graph_walk (in theory it could, but the analysis is what makes me think otherwise).

@khuey can you try -Z time-passes with a known-good rustc version, then with the one that hangs? Even if it doesn't finish, we can infer the next entry since they're always in the same order.

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

@wesleywiser Do you happen to know whether -Z self-profile can produce a valid file even when the process is interrupted? It might be worth registering a SIGINT handler to ensure we can do this. And I guess the tools should be able to understand the "interrupted event stack" (since end events would be missing). Like, it could be cool if summarize started with a big warning that the profile is incomplete and the stack which got interrupted.

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

This crate is not open source.
What can I provide to diagnose this?

This is borderline offtopic, but it would be handy to have some contractors sign NDAs for situations like this.
However, depending on how willing the client would be to pay for the reduction work (vs pinning a nightly and not updating until the problem has been solved independently), the Foundation may need to chip in.

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

@khuey @hawkw The other thing to try in order to confirm whether there's one or two bugs here, is to run cargo check instead. My guess is that it hangs for @khuey's codebase but linkerd2-proxy finishes in the same time.

@wesleywiser
Copy link
Member

@wesleywiser Do you happen to know whether -Z self-profile can produce a valid file even when the process is interrupted? It might be worth registering a SIGINT handler to ensure we can do this. And I guess the tools should be able to understand the "interrupted event stack" (since end events would be missing). Like, it could be cool if summarize started with a big warning that the profile is incomplete and the stack which got interrupted.

I think we could probably support that as long as we're not recording query keys. Query keys aren't serialized until the very end and can take a relatively significant amount of time to complete.

@Aaron1011
Copy link
Member

@hawkw What commit of linkerd2-proxy are you building?

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

@Aaron1011 I've been trying to do mostly-automated reduction, just to learn the tools, and I am preparing a longer comment, but just to help you out, I was able to repro by compiling with nightly-2021-09-17 vs nightly-2021-09-18. I would suggest trying to build -p linkerd-app-inbound, because that's what tripped my timeouts.

I didn't pick a specific commit, but happen to be at linkerd/linkerd2-proxy@93a1f29.

@hawkw
Copy link
Contributor

hawkw commented Oct 1, 2021

@hawkw What commit of linkerd2-proxy are you building?

I was also building on linkerd/linkerd2-proxy@93a1f29. And, I can confirm @eddyb's observation that it appears to be the linkerd2-app-inbound crate that results in extremely long builds; building the workspace's binary will build that crate as a dependency, but it can also be built individually.

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

I started the following automated reduction, using a rust-reduce + creduce combo script (initially I had planned to reduce linkerd2-proxy, but linkerd-app-inbound on its own was tripping the timeout so I switched to that):

rustup install nightly-2021-09-17
rustup install nightly-2021-09-18

# Get the script.
curl -sSO https://gist.githubusercontent.com/eddyb/b2e2cc5121675da718977383100c5d39/raw/192b00ba2e30e0038b3aef57959edf36009f12f9/is_89195_repro.sh
chmod +x is_89195_repro.sh

# Get the relevant source and set the env var used by the script.
git clone https://github.com/linkerd/linkerd2-proxy
export REDUCE_CRATE=linkerd2-proxy/linkerd/app/inbound

# Run the script on its own once to build deps.
./is_89195_repro.sh $REDUCE_CRATE/src/lib.rs

# Install `rust-reduce` (from my fork that supports Rust 2018) and run it.
cargo install --git https://github.com/eddyb/rust-reduce --branch rustfmt-2018
rust-reduce ./is_89195_repro.sh $REDUCE_CRATE/src/lib.rs

# Over an hour later, we have an output (you can stop it sooner though).
# Make a copy just in case `creduce` does something weird.
cp $REDUCE_CRATE/src/lib.rs checkpoint-1-rust-reduce.rs

# Don't want `creduce` to get its hands on the remaining modules'
# original files, after `rust-reduce` inlined them into `lib.rs`,
# so keep only `lib.rs` (from the copy we just made).
rm $REDUCE_CRATE/src/**.rs
cp checkpoint-1-rust-reduce.rs $REDUCE_CRATE/src/lib.rs

# Finally, run `creduce`, which will (hopefully) do most of the work.
# The `--n 1` flag is important - the script is not parallel-safe!
creduce --not-c --n 1 --timing ./is_89195_repro.sh $REDUCE_CRATE/src/lib.rs

Now that I got it to the creduce point, I'll let it run overnight, and report back with the results.
(Sadly, being a timeout-based test, it may take a while compared to reducing by hand)

EDIT1: accounted for #89195 (comment).
EDIT2: updated script to use fine-grained timeouts and cargo check.


I've heard concerns over rust-reduce being AGPL - a lot of what it does is combine a Rust crate's modules together in one file, using syn-inline-mod - it should be easy to make a small Rust program that just invokes syn_inline_mod::parse_and_inline_modules and writes out the result, and that would at least allow invoking creduce.

@hawkw
Copy link
Contributor

hawkw commented Oct 1, 2021

@khuey @hawkw The other thing to try in order to confirm whether there's one or two bugs here, is to run cargo check instead. My guess is that it hangs for @khuey's codebase but linkerd2-proxy finishes in the same time.

I can confirm that cargo +nightly check -p linkerd-app-inbound takes a normal amount of time:

    Checking linkerd-app-inbound v0.1.0 (/home/eliza/Code/linkerd2-proxy/linkerd/app/inbound)
    Finished dev [unoptimized] target(s) in 6m 25s

@olix0r
Copy link

olix0r commented Oct 1, 2021

@hawkw

I can confirm that cargo +nightly check -p linkerd-app-inbound takes a normal amount of time:

Have you compared it to a prior version?

I'm seeing:

:; (cd linkerd/app/inbound && cargo +nightly-2021-09-18 check) 
    Finished dev [unoptimized] target(s) in 5m 04s

vs

:; (cd linkerd/app/inbound && cargo +nightly-2021-09-16 check)
    Finished dev [unoptimized] target(s) in 30.07s

So, while it's not nearly as severe as the build issue, it still looks like a sizable regression to me.

@hawkw
Copy link
Contributor

hawkw commented Oct 1, 2021

@hawkw

I can confirm that cargo +nightly check -p linkerd-app-inbound takes a normal amount of time:

Have you compared it to a prior version?

I'm seeing:

:; (cd linkerd/app/inbound && cargo +nightly-2021-09-18 check) 
    Finished dev [unoptimized] target(s) in 5m 04s

vs

:; (cd linkerd/app/inbound && cargo +nightly-2021-09-16 check)
    Finished dev [unoptimized] target(s) in 30.07s

So, while it's not nearly as severe as the build issue, it still looks like a sizable regression to me.

Ah, good point. I can confirm that result; on 2021-09-18, I get

    Checking linkerd-app-inbound v0.1.0 (/home/eliza/Code/linkerd2-proxy/linkerd/app/inbound)
    Finished dev [unoptimized] target(s) in 4m 27s

while on 2021-09-16, it only takes 12 seconds:

    Checking linkerd-app-inbound v0.1.0 (/home/eliza/Code/linkerd2-proxy/linkerd/app/inbound)
    Finished dev [unoptimized] target(s) in 12.21s

@hawkw
Copy link
Contributor

hawkw commented Oct 1, 2021

Running with self-profile on 2021-09-16 as a baseline:

:; cargo +nightly-2021-09-16 rustc -p linkerd-app-inbound -- -Z self-profile 
measureme summarize output
:; summarize summarize linkerd_app_inbound-2598434.mm_profdata
+--------------------------------------------------+-----------+-----------------+----------+------------+
| Item                                             | Self time | % of total time | Time     | Item count |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_codegen_emit_obj                     | 2.42s     | 29.540          | 2.42s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_passes                                      | 1.29s     | 15.735          | 1.29s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_module                                   | 979.03ms  | 11.959          | 1.30s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| typeck                                           | 478.55ms  | 5.846           | 895.49ms | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_projection_ty                          | 323.87ms  | 3.956           | 341.56ms | 2902       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_fulfill_obligation                       | 287.30ms  | 3.509           | 387.23ms | 8402       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_ascribe_user_type                        | 271.66ms  | 3.318           | 273.38ms | 692        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_prove_predicate                          | 174.20ms  | 2.128           | 180.69ms | 8130       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| evaluate_obligation                              | 140.07ms  | 1.711           | 192.46ms | 35338      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_borrowck                                     | 117.67ms  | 1.437           | 1.49s    | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_intern_dep_graph_node                  | 111.47ms  | 1.362           | 169.76ms | 463002     |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector_graph_walk            | 97.78ms   | 1.194           | 1.03s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize_module_passes               | 77.05ms   | 0.941           | 77.05ms  | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbol_name                                      | 65.98ms   | 0.806           | 90.14ms  | 35510      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_encode_dep_graph                       | 60.98ms   | 0.745           | 60.98ms  | 475930     |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| optimized_mir                                    | 60.74ms   | 0.742           | 218.17ms | 5996       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| layout_of                                        | 58.97ms   | 0.720           | 421.30ms | 68914      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| expand_crate                                     | 53.05ms   | 0.648           | 87.95ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_optimized_mir              | 49.85ms   | 0.609           | 50.78ms  | 2582       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_codegen                              | 41.25ms   | 0.504           | 2.46s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_instance                                 | 39.99ms   | 0.489           | 450.44ms | 39080      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_register_crate                          | 31.54ms   | 0.385           | 139.69ms | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_built                                        | 30.67ms   | 0.375           | 445.28ms | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| param_env                                        | 29.50ms   | 0.360           | 94.36ms  | 12818      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| eval_to_allocation_raw                           | 25.66ms   | 0.313           | 97.11ms  | 4968       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| specialization_graph_of                          | 23.35ms   | 0.285           | 132.49ms | 318        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| implementations_of_trait                         | 22.55ms   | 0.275           | 59.63ms  | 76804      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_drops_elaborated_and_const_checked           | 20.84ms   | 0.255           | 34.76ms  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| encode_query_results_for                         | 20.53ms   | 0.251           | 20.53ms  | 25         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_item_attrs                 | 20.17ms   | 0.246           | 20.17ms  | 9546       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_generic_arg_after_erasing_regions      | 20.11ms   | 0.246           | 298.46ms | 12478      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_exported_symbols           | 20.07ms   | 0.245           | 22.09ms  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_impls_of                                   | 19.09ms   | 0.233           | 60.53ms  | 424        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| conservative_is_privately_uninhabited            | 16.82ms   | 0.205           | 49.56ms  | 65804      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_rlib                                        | 16.25ms   | 0.199           | 16.25ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| exported_symbols                                 | 15.95ms   | 0.195           | 1.19s    | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_trait_ref                                   | 15.88ms   | 0.194           | 89.35ms  | 45904      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_adt_def                    | 15.60ms   | 0.191           | 32.87ms  | 5564       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_shims                                        | 14.53ms   | 0.177           | 43.86ms  | 2390       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize                             | 14.41ms   | 0.176           | 96.14ms  | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| free_global_ctxt                                 | 14.16ms   | 0.173           | 14.16ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_trait_ref             | 13.98ms   | 0.171           | 49.61ms  | 22659      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_monomorphizations                       | 13.18ms   | 0.161           | 53.58ms  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_crate                                    | 12.23ms   | 0.149           | 1.32s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_copy_raw                                      | 12.05ms   | 0.147           | 48.75ms  | 12264      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_of                                          | 11.57ms   | 0.141           | 867.46ms | 31646      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_privacy                                | 11.43ms   | 0.140           | 12.82ms  | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| predicates_defined_on                            | 11.33ms   | 0.138           | 65.74ms  | 18570      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_monomorphizations_for                   | 11.19ms   | 0.137           | 66.51ms  | 4556       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| assert_symbols_are_distinct                      | 11.15ms   | 0.136           | 74.96ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| explicit_predicates_of                           | 10.50ms   | 0.128           | 33.79ms  | 18914      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| predicates_of                                    | 10.25ms   | 0.125           | 84.93ms  | 18570      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_place_roots                     | 10.10ms   | 0.123           | 12.53ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| late_resolve_crate                               | 10.04ms   | 0.123           | 10.04ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_attrs                                       | 9.90ms    | 0.121           | 42.36ms  | 19092      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_parent                                      | 9.60ms    | 0.117           | 31.57ms  | 42196      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dropck_outlives                                  | 9.18ms    | 0.112           | 81.94ms  | 2626       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_type_of                    | 9.04ms    | 0.110           | 10.81ms  | 14754      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_children                                    | 8.89ms    | 0.109           | 25.85ms  | 20798      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generate_crate_metadata                          | 8.61ms    | 0.105           | 1.22s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_mir_const_after_erasing_regions        | 8.06ms    | 0.098           | 56.52ms  | 6774       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_explicit_predicates_of     | 8.00ms    | 0.098           | 8.29ms   | 7459       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_impl_item_well_formed                      | 7.80ms    | 0.095           | 20.65ms  | 660        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_lowering                                     | 7.73ms    | 0.094           | 7.73ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_fn_attrs                                 | 7.65ms    | 0.093           | 56.46ms  | 11188      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| def_span                                         | 7.33ms    | 0.090           | 18.55ms  | 14650      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_body                                        | 6.95ms    | 0.085           | 33.57ms  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generics_of                                      | 6.58ms    | 0.080           | 20.39ms  | 16098      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| build_hir_map                                    | 6.53ms    | 0.080           | 6.53ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_def                                          | 6.34ms    | 0.077           | 47.17ms  | 11252      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| erase_regions_ty                                 | 6.26ms    | 0.076           | 14.53ms  | 20803      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| opt_def_kind                                     | 6.25ms    | 0.076           | 27.79ms  | 23696      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| region_scope_tree                                | 6.15ms    | 0.075           | 10.40ms  | 1710       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| eval_to_const_value_raw                          | 6.08ms    | 0.074           | 180.95ms | 9308       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_item_types                             | 6.03ms    | 0.074           | 846.16ms | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_item_children              | 5.96ms    | 0.073           | 5.96ms   | 10399      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| const_caller_location                            | 5.95ms    | 0.073           | 7.22ms   | 1214       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| needs_drop_raw                                   | 5.86ms    | 0.072           | 62.43ms  | 7760       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| method_autoderef_steps                           | 5.83ms    | 0.071           | 11.90ms  | 1176       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| self_profile_alloc_query_strings                 | 5.82ms    | 0.071           | 5.82ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| should_inherit_track_caller                      | 5.70ms    | 0.070           | 26.66ms  | 11188      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inferred_outlives_of                             | 5.50ms    | 0.067           | 36.05ms  | 18914      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_lints                                      | 5.35ms    | 0.065           | 24.48ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| fn_sig                                           | 5.16ms    | 0.063           | 15.71ms  | 7760       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_implementations_of_trait   | 4.95ms    | 0.060           | 4.95ms   | 38402      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_item_well_formed                           | 4.92ms    | 0.060           | 14.34ms  | 2484       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_parent                | 4.71ms    | 0.058           | 4.71ms   | 21098      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize_function_passes             | 4.69ms    | 0.057           | 4.69ms   | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| visible_parent_map                               | 4.61ms    | 0.056           | 22.99ms  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_mod                                         | 4.60ms    | 0.056           | 5.29ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_items                                 | 4.56ms    | 0.056           | 17.86ms  | 3694       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_serialize_result_cache                 | 4.53ms    | 0.055           | 25.07ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_promoted                                     | 4.52ms    | 0.055           | 458.17ms | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_uninhabited_from                            | 4.49ms    | 0.055           | 30.61ms  | 10798      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| promoted_mir                                     | 4.48ms    | 0.055           | 9.64ms   | 1066       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_const                                        | 4.44ms    | 0.054           | 450.52ms | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_item                                  | 4.40ms    | 0.054           | 11.77ms  | 12210      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_fn_sig                     | 4.23ms    | 0.052           | 4.29ms   | 3546       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_fn_sig                         | 4.22ms    | 0.052           | 7.36ms   | 620        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_place_inline_items              | 4.17ms    | 0.051           | 4.17ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_associated_item_def_ids    | 3.96ms    | 0.048           | 3.96ms   | 1578       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_match                                      | 3.81ms    | 0.047           | 5.47ms   | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unsafety_check_result                            | 3.63ms    | 0.044           | 512.00ms | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_generics_of                | 3.61ms    | 0.044           | 3.61ms   | 6051       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| collect_and_partition_mono_items                 | 3.58ms    | 0.044           | 1.14s    | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| implied_outlives_bounds                          | 3.33ms    | 0.041           | 4.14ms   | 1652       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_internalize_symbols             | 3.22ms    | 0.039           | 3.22ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| copy_all_cgu_workproducts_to_incr_comp_cache_dir | 3.19ms    | 0.039           | 3.19ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_load_macro                              | 3.01ms    | 0.037           | 3.01ms   | 52         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_drop_tys                                     | 2.75ms    | 0.034           | 17.96ms  | 1168       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_predicate                      | 2.74ms    | 0.033           | 4.18ms   | 954        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_unit                                     | 2.51ms    | 0.031           | 5.07ms   | 512        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| instance_def_size_estimate                       | 2.50ms    | 0.030           | 5.31ms   | 7950       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| privacy_access_levels                            | 2.48ms    | 0.030           | 2.68ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner                                        | 2.38ms    | 0.029           | 12.43ms  | 5166       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_of_item                                    | 2.30ms    | 0.028           | 7.09ms   | 7954       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning                                 | 2.22ms    | 0.027           | 26.51ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_promoted_mir               | 2.21ms    | 0.027           | 2.21ms   | 166        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_def_span                   | 2.18ms    | 0.027           | 2.18ms   | 5324       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_lifetimes                                | 2.12ms    | 0.026           | 2.96ms   | 796        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_foreign_item                                  | 2.10ms    | 0.026           | 5.68ms   | 7496       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_liveness                               | 2.09ms    | 0.026           | 8.03ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_ty                             | 2.08ms    | 0.025           | 2.74ms   | 554        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_sized_raw                                     | 2.08ms    | 0.025           | 9.77ms   | 1814       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary_remove_temps                         | 2.04ms    | 0.025           | 2.04ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_levels                                      | 1.96ms    | 0.024           | 2.07ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| death_checking                                   | 1.95ms    | 0.024           | 5.21ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_opt_def_kind               | 1.93ms    | 0.024           | 1.93ms   | 8838       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_sized_constraint                             | 1.92ms    | 0.023           | 6.66ms   | 2448       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_reachable_non_generic                         | 1.91ms    | 0.023           | 8.98ms   | 7718       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| analysis                                         | 1.68ms    | 0.020           | 1.62s    | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_const_qualif                                 | 1.66ms    | 0.020           | 6.45ms   | 964        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| early_lint_checks                                | 1.61ms    | 0.020           | 1.61ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_item_def_ids                          | 1.61ms    | 0.020           | 7.55ms   | 3744       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_trait_of_item              | 1.60ms    | 0.020           | 1.60ms   | 3572       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_attrs                                  | 1.56ms    | 0.019           | 7.11ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_dtorck_constraint                            | 1.55ms    | 0.019           | 11.31ms  | 1210       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_associated_item            | 1.53ms    | 0.019           | 1.53ms   | 5774       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_mir_available                                 | 1.52ms    | 0.019           | 4.68ms   | 5344       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_polarity                                    | 1.49ms    | 0.018           | 4.02ms   | 4688       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_for_ctfe                                     | 1.45ms    | 0.018           | 3.73ms   | 712        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| collect_mod_item_types                           | 1.38ms    | 0.017           | 14.40ms  | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| specializes                                      | 1.35ms    | 0.016           | 3.40ms   | 1696       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_ast                                         | 1.34ms    | 0.016           | 1.34ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_inferred_outlives_of       | 1.25ms    | 0.015           | 1.25ms   | 7459       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| visibility                                       | 1.23ms    | 0.015           | 3.79ms   | 5042       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| vtable_entries                                   | 1.16ms    | 0.014           | 24.67ms  | 402        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_private_in_public                          | 1.11ms    | 0.014           | 2.48ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| expn_that_defined                                | 1.10ms    | 0.013           | 3.07ms   | 4658       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_mir_available           | 1.03ms    | 0.013           | 1.03ms   | 2577       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_unstable_api_usage                     | 1.02ms    | 0.012           | 2.38ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_module_optimize                          | 992.18µs  | 0.012           | 2.56s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_drop_glue_for                           | 940.47µs  | 0.011           | 2.87ms   | 2850       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_deprecation_entry                         | 922.84µs  | 0.011           | 2.93ms   | 3744       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_mir_for_ctfe               | 902.34µs  | 0.011           | 902.34µs | 265        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_dep_graph                                   | 865.83µs  | 0.011           | 865.83µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_merge_cgus                      | 841.53µs  | 0.010           | 841.53µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_codegened_item                                | 827.48µs  | 0.010           | 1.89ms   | 2066       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_attrs                                        | 827.04µs  | 0.010           | 2.23ms   | 3148       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| wf_checking                                      | 823.55µs  | 0.010           | 34.99ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| reachable_non_generics                           | 786.68µs  | 0.010           | 5.47ms   | 154        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_defaultness                                 | 745.45µs  | 0.009           | 2.02ms   | 2492       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finalize_macro_resolutions                       | 720.51µs  | 0.009           | 720.51µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finalize_imports                                 | 707.60µs  | 0.009           | 707.60µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_hash                                       | 686.91µs  | 0.008           | 837.14µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| parent_module_from_def_id                        | 668.75µs  | 0.008           | 1.51ms   | 2034       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| own_existential_vtable_entries                   | 667.88µs  | 0.008           | 2.54ms   | 54         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upvars_mentioned                                 | 662.35µs  | 0.008           | 1.24ms   | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_intrinsics                             | 633.08µs  | 0.008           | 676.68µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_polarity              | 608.25µs  | 0.007           | 608.25µs | 2051       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| static_mutability                                | 606.10µs  | 0.007           | 1.49ms   | 1398       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| object_lifetime_defaults_map                     | 578.22µs  | 0.007           | 1.68ms   | 3146       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_destructor                                   | 563.00µs  | 0.007           | 6.18ms   | 1866       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_const_bodies                           | 554.14µs  | 0.007           | 1.08ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| explicit_item_bounds                             | 550.56µs  | 0.007           | 1.70ms   | 218        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_foreign_item            | 549.43µs  | 0.007           | 549.43µs | 3582       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_check_unused                             | 544.85µs  | 0.007           | 544.85µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| parse_crate                                      | 541.19µs  | 0.007           | 541.19µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_explicit_item_bounds       | 533.48µs  | 0.007           | 533.48µs | 90         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| serialize_work_products                          | 524.85µs  | 0.006           | 524.85µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| stability_index                                  | 524.80µs  | 0.006           | 529.49µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| reachable_set                                    | 513.46µs  | 0.006           | 626.96µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner_parent                                 | 512.45µs  | 0.006           | 1.36ms   | 2390       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| object_safety_violations                         | 502.46µs  | 0.006           | 2.41ms   | 26         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_adt_destructor             | 500.03µs  | 0.006           | 1.68ms   | 871        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| AST_validation                                   | 471.95µs  | 0.006           | 471.95µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| variances_of                                     | 456.38µs  | 0.006           | 1.49ms   | 1522       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_late_bound_map                                | 441.62µs  | 0.005           | 901.42µs | 782        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| late_bound_vars_map                              | 411.57µs  | 0.005           | 2.26ms   | 1206       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_loops                                  | 400.60µs  | 0.005           | 423.60µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| pre_AST_expansion_lint_checks                    | 398.56µs  | 0.005           | 398.56µs | 22         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| MIR_borrow_checking                              | 395.61µs  | 0.005           | 213.31ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| in_scope_traits_map                              | 387.46µs  | 0.005           | 792.38µs | 488        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary_check_files_are_writeable            | 359.40µs  | 0.004           | 359.40µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| typeck_item_bodies                               | 357.46µs  | 0.004           | 311.96ms | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| write_crate_metadata                             | 353.74µs  | 0.004           | 353.74µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_check_crate                                 | 348.61µs  | 0.004           | 1.32s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lit_to_const                                     | 336.68µs  | 0.004           | 640.71µs | 608        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_bounds                                      | 321.14µs  | 0.004           | 1.41ms   | 206        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_abstract_const                              | 317.12µs  | 0.004           | 796.22µs | 980        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| diagnostic_items                                 | 303.10µs  | 0.004           | 546.92µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| complete_gated_feature_checking                  | 302.79µs  | 0.004           | 302.79µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_reachable_non_generics     | 296.93µs  | 0.004           | 3.39ms   | 76         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| proc_macro_decls_static                          | 295.98µs  | 0.004           | 1.25ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_param_predicates                            | 282.94µs  | 0.003           | 467.46µs | 116        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| param_env_reveal_all_normalized                  | 282.38µs  | 0.003           | 810.08µs | 948        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| opt_const_param_of                               | 282.36µs  | 0.003           | 690.41µs | 980        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_unused_trait_import                        | 279.35µs  | 0.003           | 742.69µs | 1440       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_check_unsafety                              | 274.06µs  | 0.003           | 671.22µs | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| get_lang_items                                   | 273.56µs  | 0.003           | 1.09ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_expn_that_defined          | 269.18µs  | 0.003           | 269.18µs | 328        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_variances_of               | 260.24µs  | 0.003           | 260.24µs | 328        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_crate                                       | 250.74µs  | 0.003           | 19.05ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| configure_and_expand                             | 248.48µs  | 0.003           | 101.29ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_const_fn_raw                                  | 240.55µs  | 0.003           | 715.13µs | 754        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_super_predicates_of        | 232.67µs  | 0.003           | 232.67µs | 198        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_defaultness           | 228.11µs  | 0.003           | 228.11µs | 1007       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_postprocess                              | 222.88µs  | 0.003           | 222.88µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| named_region_map                                 | 222.39µs  | 0.003           | 1.63ms   | 644        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| postorder_cnums                                  | 221.77µs  | 0.003           | 238.42µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| destructure_const                                | 219.07µs  | 0.003           | 522.52µs | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coherent_trait                                   | 218.45µs  | 0.003           | 110.87ms | 62         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| used_trait_imports                               | 208.63µs  | 0.003           | 537.17µs | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_impl_wf                                | 202.29µs  | 0.002           | 274.54µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| super_predicates_of                              | 199.45µs  | 0.002           | 693.98µs | 398        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inherent_impls                                   | 198.30µs  | 0.002           | 631.42µs | 384        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| MIR_effect_checking                              | 194.96µs  | 0.002           | 1.07ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_static_mutability          | 190.55µs  | 0.002           | 190.55µs | 604        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner_nodes                                  | 190.52µs  | 0.002           | 617.10µs | 1028       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_ctfe_mir_available                            | 179.77µs  | 0.002           | 593.17µs | 678        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| prepare_outputs                                  | 176.77µs  | 0.002           | 176.77µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_variances                                  | 175.01µs  | 0.002           | 240.61µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_def                                        | 170.79µs  | 0.002           | 446.58µs | 426        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| index_hir                                        | 168.40µs  | 0.002           | 6.71ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crates                                           | 168.09µs  | 0.002           | 334.49µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| issue33140_self_ty                               | 165.34µs  | 0.002           | 415.36µs | 676        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_naked_functions                        | 162.81µs  | 0.002           | 183.71µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_name                                       | 162.72µs  | 0.002           | 300.89µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unused_generic_params                            | 158.70µs  | 0.002           | 419.91µs | 702        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| missing_lang_items                               | 154.53µs  | 0.002           | 301.64µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_visibility                 | 153.28µs  | 0.002           | 153.28µs | 675        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| used_crate_source                                | 147.62µs  | 0.002           | 339.91µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_inherent_impls             | 146.94µs  | 0.002           | 146.94µs | 129        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_stability                                 | 146.88µs  | 0.002           | 455.52µs | 424        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| subst_and_check_impossible_predicates            | 143.99µs  | 0.002           | 274.92µs | 392        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| match_checking                                   | 140.70µs  | 0.002           | 5.36ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary                                      | 136.43µs  | 0.002           | 18.79ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_keys                                         | 134.92µs  | 0.002           | 156.38µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_ctfe_mir_available      | 131.44µs  | 0.002           | 131.44µs | 265        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extern_crate                                     | 130.64µs  | 0.002           | 250.70µs | 144        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inferred_outlives_crate                          | 127.82µs  | 0.002           | 1.26ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| native_libraries                                 | 125.14µs  | 0.002           | 315.84µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| module_exports                                   | 121.29µs  | 0.001           | 248.20µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector_root_collections      | 119.20µs  | 0.001           | 453.73µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| <unknown>                                        | 117.89µs  | 0.001           | 2.13ms   | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_deprecation_entry   | 114.27µs  | 0.001           | 114.27µs | 709        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_stability           | 113.96µs  | 0.001           | 113.96µs | 211        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_prepare_session_directory              | 109.22µs  | 0.001           | 109.22µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| missing_extern_crate_item                        | 99.95µs   | 0.001           | 228.41µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_host_hash                                  | 98.77µs   | 0.001           | 230.01µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extra_filename                                   | 97.59µs   | 0.001           | 254.76µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_compiler_builtins                             | 95.35µs   | 0.001           | 261.85µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_trait_def                  | 94.55µs   | 0.001           | 94.55µs  | 212        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_no_builtins                                   | 93.33µs   | 0.001           | 262.72µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_profiler_runtime                              | 92.33µs   | 0.001           | 224.08µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| all_diagnostic_items                             | 91.95µs   | 0.001           | 235.75µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dep_kind                                         | 90.52µs   | 0.001           | 229.25µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbol_mangling_version                          | 88.96µs   | 0.001           | 213.88µs | 164        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| defined_lang_items                               | 88.59µs   | 0.001           | 494.92µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_module_items                                 | 84.33µs   | 0.001           | 172.32µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_opaque_types                           | 84.11µs   | 0.001           | 148.07µs | 158        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_persist_result_cache                   | 82.47µs   | 0.001           | 25.16ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_crate                                        | 76.34µs   | 0.001           | 659.35µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbols_for_closure_captures                     | 74.68µs   | 0.001           | 123.81µs | 62         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_constness                                   | 73.53µs   | 0.001           | 167.79µs | 196        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| orphan_checking                                  | 69.27µs   | 0.001           | 69.27µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_structural_eq_impls                          | 68.96µs   | 0.001           | 410.91µs | 34         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| setup_global_ctxt                                | 67.98µs   | 0.001           | 67.98µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_finalize_session_directory             | 66.44µs   | 0.001           | 66.44µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_diagnostic_items           | 59.96µs   | 0.001           | 59.96µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_typeck_results                               | 58.50µs   | 0.001           | 134.74µs | 198        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_prepare_load_dep_graph                 | 58.03µs   | 0.001           | 58.03µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_compiler                                    | 52.51µs   | 0.001           | 52.51µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_native_libraries           | 48.44µs   | 0.001           | 48.44µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_load_query_result_cache                | 42.39µs   | 0.001           | 42.39µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_persist_dep_graph                      | 41.38µs   | 0.001           | 51.29µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_promotable_const_fn                           | 39.25µs   | 0.000           | 141.89µs | 84         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_1                                  | 37.62µs   | 0.000           | 12.40ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unsafety_checking                                | 36.99µs   | 0.000           | 36.99µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coherence_checking                               | 34.95µs   | 0.000           | 107.94ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_defined_lang_items         | 33.10µs   | 0.000           | 178.66µs | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| default_anon_const_substs                        | 32.56µs   | 0.000           | 118.26µs | 42         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| find_cgu_reuse                                   | 30.01µs   | 0.000           | 30.01µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_private_dep                                   | 29.54µs   | 0.000           | 50.87µs  | 58         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_extra_filename             | 27.05µs   | 0.000           | 27.05µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_used_crate_source          | 26.63µs   | 0.000           | 26.63µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_const_fn_raw            | 24.49µs   | 0.000           | 24.49µs  | 61         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_inherent_impls_overlap_check               | 23.64µs   | 0.000           | 90.43µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_unreachable_local_definition                  | 23.36µs   | 0.000           | 54.08µs  | 86         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_missing_lang_items         | 22.39µs   | 0.000           | 22.39µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_inherent_impls                             | 21.61µs   | 0.000           | 29.37µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_injection                                  | 20.59µs   | 0.000           | 20.59µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_constness             | 20.02µs   | 0.000           | 20.02µs  | 81         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_types_checking                              | 19.32µs   | 0.000           | 846.09ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_compiler_builtins       | 18.85µs   | 0.000           | 18.85µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| supported_target_features                        | 18.63µs   | 0.000           | 31.28µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_symbol_mangling_version    | 17.94µs   | 0.000           | 17.94µs  | 82         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_trait_item_well_formed                     | 17.47µs   | 0.000           | 38.16µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| serialize_dep_graph                              | 16.93µs   | 0.000           | 25.23ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_freeze_raw                                    | 15.26µs   | 0.000           | 623.86µs | 12         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| blocked_on_dep_graph_loading                     | 14.96µs   | 0.000           | 14.96µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| liveness_and_intrinsic_checking                  | 14.04µs   | 0.000           | 8.66ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_collecting                                  | 13.96µs   | 0.000           | 14.39ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link                                             | 13.90µs   | 0.000           | 23.71ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_const_stability     | 13.72µs   | 0.000           | 13.72µs  | 7          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_hash                 | 13.08µs   | 0.000           | 13.08µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| encode_query_results                             | 12.95µs   | 0.000           | 20.54ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| macro_expand_crate                               | 12.59µs   | 0.000           | 87.96ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_extern_crate               | 12.49µs   | 0.000           | 12.49µs  | 72         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_garbage_collect_session_directories    | 12.31µs   | 0.000           | 12.31µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector                       | 11.65µs   | 0.000           | 1.03s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| get_lib_features                                 | 10.76µs   | 0.000           | 13.53µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| looking_for_entry_point                          | 10.29µs   | 0.000           | 19.44µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| foreign_modules                                  | 9.95µs    | 0.000           | 11.40µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_load_dep_graph                         | 9.81µs    | 0.000           | 9.81µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| module_lints                                     | 9.67µs    | 0.000           | 5.24ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_3                                  | 9.55µs    | 0.000           | 52.86ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_name                 | 9.45µs    | 0.000           | 9.45µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_const_stability                           | 9.24µs    | 0.000           | 30.27µs  | 14         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| privacy_checking_modules                         | 9.13µs    | 0.000           | 12.76ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| all_local_trait_impls                            | 8.92µs    | 0.000           | 17.80µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| entry_fn                                         | 8.76µs    | 0.000           | 9.83µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_missing_extern_crate_item  | 7.64µs    | 0.000           | 7.64µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_host_hash            | 7.16µs    | 0.000           | 7.16µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_no_builtins             | 7.16µs    | 0.000           | 7.16µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_profiler_runtime        | 6.98µs    | 0.000           | 6.98µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_dep_kind                   | 6.98µs    | 0.000           | 6.98µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| partition_and_assert_distinct_symbols            | 6.83µs    | 0.000           | 101.48ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| looking_for_derive_registrar                     | 6.33µs    | 0.000           | 1.26ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finish_ongoing_codegen                           | 6.19µs    | 0.000           | 3.20ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| features_query                                   | 6.03µs    | 0.000           | 11.83µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_crate                                    | 5.87µs    | 0.000           | 12.24ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| super_predicates_that_define_assoc_type          | 5.59µs    | 0.000           | 13.04µs  | 20         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coerce_unsized_info                              | 5.39µs    | 0.000           | 11.41µs  | 6          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_wf_inference                                | 5.02µs    | 0.000           | 265.07µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| output_filenames                                 | 4.96µs    | 0.000           | 14.55µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generator_kind                                   | 4.15µs    | 0.000           | 8.64µs   | 12         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| limits                                           | 3.80µs    | 0.000           | 4.59µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unused_lib_feature_checking                      | 3.59µs    | 0.000           | 14.88µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| attributes_injection                             | 3.12µs    | 0.000           | 3.12µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_checking                                    | 2.95µs    | 0.000           | 29.73ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_bodies_checking                             | 2.94µs    | 0.000           | 311.95ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dependency_formats                               | 2.84µs    | 0.000           | 4.04µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_mir_const_qualif           | 2.56µs    | 0.000           | 2.56µs   | 9          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_private_dep             | 2.14µs    | 0.000           | 2.14µs   | 28         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| plugin_loading                                   | 2.03µs    | 0.000           | 2.03µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_explicit_predicates_and_bounds             | 1.94µs    | 0.000           | 2.63µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_coerce_unsized_info        | 1.78µs    | 0.000           | 1.78µs   | 3          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_2                                  | 1.77µs    | 0.000           | 14.03ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| allocator_kind                                   | 1.63µs    | 0.000           | 2.83µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_create_a_macro_crate                       | 1.45µs    | 0.000           | 1.45µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| join_worker_thread                               | 1.44µs    | 0.000           | 1.44µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_global_allocator                             | 1.39µs    | 0.000           | 2.66µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| backend_optimization_level                       | 1.31µs    | 0.000           | 2.81µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_panic_runtime                                 | 1.29µs    | 0.000           | 2.35µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_unused_extern_crates                       | 1.20µs    | 0.000           | 2.05µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extern_mod_stmt_cnum                             | 1.12µs    | 0.000           | 1.95µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolutions                                      | 842.00ns  | 0.000           | 1.58µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_building_test_harness                      | 802.00ns  | 0.000           | 802.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_panic_handler                                | 692.00ns  | 0.000           | 1.52µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_main                                     | 591.00ns  | 0.000           | 591.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| layout_testing                                   | 521.00ns  | 0.000           | 521.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| assert_dep_graph                                 | 481.00ns  | 0.000           | 481.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_query_cache_promotion                  | 221.00ns  | 0.000           | 221.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_unused_macros                              | 201.00ns  | 0.000           | 201.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_report_errors                            | 180.00ns  | 0.000           | 180.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| llvm_dump_timing_file                            | 70.00ns   | 0.000           | 70.00ns  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_dirty_clean                                | 50.00ns   | 0.000           | 50.00ns  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| plugin_registration                              | 40.00ns   | 0.000           | 40.00ns  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
Total cpu time: 8.186387408s

Running 2021-09-18 next, but expect that to take much longer :)

@hawkw
Copy link
Contributor

hawkw commented Oct 1, 2021

:; cargo +nightly-2021-09-18 rustc -p linkerd-app-inbound -- -Z self-profile
measureme summarize output:
summarize summarize linkerd_app_inbound-2678160.mm_profdata 
+--------------------------------------------------+-----------+-----------------+----------+------------+
| Item                                             | Self time | % of total time | Time     | Item count |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| typeck                                           | 167.83s   | 65.311          | 192.91s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_ascribe_user_type                        | 55.51s    | 21.601          | 55.51s   | 694        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_projection_ty                          | 25.04s    | 9.743           | 25.05s   | 2902       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_codegen_emit_obj                     | 2.37s     | 0.920           | 2.37s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| evaluate_obligation                              | 1.83s     | 0.713           | 1.88s    | 35334      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_passes                                      | 1.21s     | 0.473           | 1.21s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_module                                   | 927.27ms  | 0.361           | 1.25s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_fulfill_obligation                       | 278.92ms  | 0.109           | 2.07s    | 8402       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_prove_predicate                          | 177.30ms  | 0.069           | 183.52ms | 8130       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_borrowck                                     | 117.17ms  | 0.046           | 303.95s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_intern_dep_graph_node                  | 108.71ms  | 0.042           | 165.17ms | 462825     |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector_graph_walk            | 97.55ms   | 0.038           | 2.79s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize_module_passes               | 75.12ms   | 0.029           | 75.12ms  | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbol_name                                      | 65.24ms   | 0.025           | 90.07ms  | 35512      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| optimized_mir                                    | 60.91ms   | 0.024           | 215.85ms | 5992       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_encode_dep_graph                       | 59.48ms   | 0.023           | 59.48ms  | 475746     |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| layout_of                                        | 55.67ms   | 0.022           | 334.10ms | 68718      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_optimized_mir              | 53.61ms   | 0.021           | 54.60ms  | 2580       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| expand_crate                                     | 51.71ms   | 0.020           | 85.92ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_codegen                              | 40.64ms   | 0.016           | 2.41s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_instance                                 | 39.05ms   | 0.015           | 445.60ms | 39084      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_register_crate                          | 30.96ms   | 0.012           | 137.53ms | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_built                                        | 30.37ms   | 0.012           | 192.43s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| param_env                                        | 27.94ms   | 0.011           | 89.14ms  | 12820      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| specialization_graph_of                          | 23.19ms   | 0.009           | 130.67ms | 318        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| implementations_of_trait                         | 22.60ms   | 0.009           | 68.60ms  | 76804      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_item_attrs                 | 21.08ms   | 0.008           | 21.08ms  | 9548       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_drops_elaborated_and_const_checked           | 21.00ms   | 0.008           | 34.90ms  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_type_of                    | 20.87ms   | 0.008           | 22.91ms  | 14746      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| eval_to_allocation_raw                           | 20.07ms   | 0.008           | 46.30ms  | 4968       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_exported_symbols           | 19.65ms   | 0.008           | 21.56ms  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| encode_query_results_for                         | 19.57ms   | 0.008           | 19.57ms  | 25         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_generic_arg_after_erasing_regions      | 18.99ms   | 0.007           | 371.99ms | 12448      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_impls_of                                   | 18.24ms   | 0.007           | 64.07ms  | 424        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| conservative_is_privately_uninhabited            | 16.15ms   | 0.006           | 47.36ms  | 65684      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_rlib                                        | 15.54ms   | 0.006           | 15.54ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_trait_ref                                   | 15.35ms   | 0.006           | 87.89ms  | 45886      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| exported_symbols                                 | 15.34ms   | 0.006           | 2.95s    | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_adt_def                    | 14.65ms   | 0.006           | 33.19ms  | 5565       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_shims                                        | 14.60ms   | 0.006           | 43.48ms  | 2390       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| free_global_ctxt                                 | 14.16ms   | 0.006           | 14.16ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_trait_ref             | 13.63ms   | 0.005           | 48.92ms  | 22650      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize                             | 13.62ms   | 0.005           | 93.27ms  | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_monomorphizations                       | 12.62ms   | 0.005           | 51.91ms  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_copy_raw                                      | 11.64ms   | 0.005           | 48.35ms  | 12264      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_of                                          | 11.51ms   | 0.004           | 248.11s  | 31630      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_privacy                                | 11.23ms   | 0.004           | 12.57ms  | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| predicates_defined_on                            | 11.13ms   | 0.004           | 64.02ms  | 18572      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_monomorphizations_for                   | 10.95ms   | 0.004           | 64.76ms  | 4556       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| assert_symbols_are_distinct                      | 10.91ms   | 0.004           | 75.64ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_crate                                    | 10.58ms   | 0.004           | 1.27s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| explicit_predicates_of                           | 10.35ms   | 0.004           | 52.77ms  | 18916      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_place_roots                     | 9.91ms    | 0.004           | 12.44ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_attrs                                       | 9.76ms    | 0.004           | 43.05ms  | 19096      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| predicates_of                                    | 9.74ms    | 0.004           | 82.36ms  | 18572      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| late_resolve_crate                               | 9.41ms    | 0.004           | 9.41ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_children                                    | 9.41ms    | 0.004           | 26.95ms  | 20806      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_parent                                      | 9.40ms    | 0.004           | 31.16ms  | 42200      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dropck_outlives                                  | 8.96ms    | 0.003           | 24.74s   | 2626       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generate_crate_metadata                          | 8.48ms    | 0.003           | 2.97s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_mir_const_after_erasing_regions        | 7.90ms    | 0.003           | 50.52ms  | 6774       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_impl_item_well_formed                      | 7.85ms    | 0.003           | 20.33ms  | 660        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_explicit_predicates_of     | 7.82ms    | 0.003           | 8.11ms   | 7460       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_lowering                                     | 7.70ms    | 0.003           | 7.70ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_fn_attrs                                 | 7.49ms    | 0.003           | 45.55ms  | 11190      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| def_span                                         | 7.05ms    | 0.003           | 18.02ms  | 14652      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generics_of                                      | 6.77ms    | 0.003           | 20.91ms  | 16080      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_body                                        | 6.77ms    | 0.003           | 10.95ms  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| opt_def_kind                                     | 6.34ms    | 0.002           | 18.27ms  | 23698      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| build_hir_map                                    | 6.29ms    | 0.002           | 6.29ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_def                                          | 6.16ms    | 0.002           | 46.76ms  | 11254      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| self_profile_alloc_query_strings                 | 6.12ms    | 0.002           | 6.12ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_item_types                             | 6.05ms    | 0.002           | 248.07s  | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| erase_regions_ty                                 | 6.05ms    | 0.002           | 14.24ms  | 20761      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| eval_to_const_value_raw                          | 5.98ms    | 0.002           | 79.93ms  | 9308       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_item_children              | 5.91ms    | 0.002           | 5.91ms   | 10403      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| region_scope_tree                                | 5.89ms    | 0.002           | 10.01ms  | 1710       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| method_autoderef_steps                           | 5.74ms    | 0.002           | 11.79ms  | 1176       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| const_caller_location                            | 5.65ms    | 0.002           | 6.76ms   | 1214       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| should_inherit_track_caller                      | 5.45ms    | 0.002           | 21.00ms  | 11190      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| needs_drop_raw                                   | 5.44ms    | 0.002           | 61.71ms  | 7760       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inferred_outlives_of                             | 5.25ms    | 0.002           | 15.11ms  | 18916      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| fn_sig                                           | 5.22ms    | 0.002           | 15.65ms  | 7762       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_item_well_formed                           | 5.05ms    | 0.002           | 14.28ms  | 2484       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_lints                                      | 4.99ms    | 0.002           | 24.44ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_items                                 | 4.93ms    | 0.002           | 18.38ms  | 3694       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_implementations_of_trait   | 4.80ms    | 0.002           | 4.80ms   | 38402      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_parent                | 4.64ms    | 0.002           | 4.64ms   | 21100      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_promoted                                     | 4.58ms    | 0.002           | 192.44s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_mod                                         | 4.56ms    | 0.002           | 5.25ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| LLVM_module_optimize_function_passes             | 4.53ms    | 0.002           | 4.53ms   | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| promoted_mir                                     | 4.53ms    | 0.002           | 9.88ms   | 1066       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_const                                        | 4.49ms    | 0.002           | 192.43s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_serialize_result_cache                 | 4.46ms    | 0.002           | 24.04ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_uninhabited_from                            | 4.45ms    | 0.002           | 30.03ms  | 10798      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_fn_sig                     | 4.32ms    | 0.002           | 4.38ms   | 3547       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_fn_sig                         | 4.25ms    | 0.002           | 7.47ms   | 620        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_item                                  | 4.19ms    | 0.002           | 11.74ms  | 12210      |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| visible_parent_map                               | 4.15ms    | 0.002           | 23.21ms  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_associated_item_def_ids    | 4.06ms    | 0.002           | 4.06ms   | 1578       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_place_inline_items              | 3.95ms    | 0.002           | 3.95ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_match                                      | 3.66ms    | 0.001           | 5.35ms   | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_generics_of                | 3.59ms    | 0.001           | 3.59ms   | 6042       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| collect_and_partition_mono_items                 | 3.52ms    | 0.001           | 2.90s    | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unsafety_check_result                            | 3.46ms    | 0.001           | 192.45s  | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| implied_outlives_bounds                          | 3.26ms    | 0.001           | 4.10ms   | 1652       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_internalize_symbols             | 3.10ms    | 0.001           | 3.10ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_load_macro                              | 2.92ms    | 0.001           | 2.92ms   | 52         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_predicate                      | 2.75ms    | 0.001           | 4.15ms   | 954        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_drop_tys                                     | 2.74ms    | 0.001           | 18.04ms  | 1168       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| copy_all_cgu_workproducts_to_incr_comp_cache_dir | 2.62ms    | 0.001           | 2.62ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_unit                                     | 2.62ms    | 0.001           | 5.39ms   | 512        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| instance_def_size_estimate                       | 2.47ms    | 0.001           | 5.13ms   | 7950       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| privacy_access_levels                            | 2.38ms    | 0.001           | 2.60ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_lifetimes                                | 2.36ms    | 0.001           | 3.25ms   | 796        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner                                        | 2.26ms    | 0.001           | 11.84ms  | 5166       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_promoted_mir               | 2.26ms    | 0.001           | 2.26ms   | 166        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_of_item                                    | 2.22ms    | 0.001           | 7.10ms   | 7956       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_foreign_item                                  | 2.17ms    | 0.001           | 5.55ms   | 7498       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning                                 | 2.11ms    | 0.001           | 25.85ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_liveness                               | 2.10ms    | 0.001           | 8.01ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_op_normalize_ty                             | 2.09ms    | 0.001           | 2.74ms   | 554        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_def_span                   | 2.07ms    | 0.001           | 2.07ms   | 5325       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_opt_def_kind               | 2.03ms    | 0.001           | 2.03ms   | 8839       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_sized_raw                                     | 1.97ms    | 0.001           | 10.75ms  | 1808       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary_remove_temps                         | 1.96ms    | 0.001           | 1.96ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| death_checking                                   | 1.91ms    | 0.001           | 5.14ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_reachable_non_generic                         | 1.90ms    | 0.001           | 8.77ms   | 7720       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_levels                                      | 1.88ms    | 0.001           | 2.00ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_sized_constraint                             | 1.82ms    | 0.001           | 6.55ms   | 2448       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_const_qualif                                 | 1.72ms    | 0.001           | 6.52ms   | 964        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| analysis                                         | 1.65ms    | 0.001           | 248.84s  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_attrs                                  | 1.60ms    | 0.001           | 7.01ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_dtorck_constraint                            | 1.58ms    | 0.001           | 11.13ms  | 1210       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| associated_item_def_ids                          | 1.58ms    | 0.001           | 7.80ms   | 3744       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_trait_of_item              | 1.55ms    | 0.001           | 1.55ms   | 3573       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_associated_item            | 1.51ms    | 0.001           | 1.51ms   | 5774       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| early_lint_checks                                | 1.49ms    | 0.001           | 1.49ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_mir_available           | 1.48ms    | 0.001           | 1.48ms   | 2577       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_mir_available                                 | 1.47ms    | 0.001           | 5.33ms   | 5344       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_for_ctfe                                     | 1.45ms    | 0.001           | 3.66ms   | 712        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_polarity                                    | 1.44ms    | 0.001           | 3.98ms   | 4688       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| collect_mod_item_types                           | 1.39ms    | 0.001           | 15.48ms  | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_ast                                         | 1.31ms    | 0.001           | 1.31ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| vtable_entries                                   | 1.26ms    | 0.000           | 25.02ms  | 402        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| specializes                                      | 1.25ms    | 0.000           | 3.50ms   | 1696       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| visibility                                       | 1.25ms    | 0.000           | 3.55ms   | 5044       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_inferred_outlives_of       | 1.22ms    | 0.000           | 1.22ms   | 7460       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_private_in_public                          | 1.11ms    | 0.000           | 2.36ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| expn_that_defined                                | 1.11ms    | 0.000           | 3.30ms   | 4658       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_unstable_api_usage                     | 1.02ms    | 0.000           | 2.31ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upstream_drop_glue_for                           | 909.05µs  | 0.000           | 2.76ms   | 2850       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_mir_for_ctfe               | 908.50µs  | 0.000           | 908.50µs | 265        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| codegen_module_optimize                          | 875.61µs  | 0.000           | 2.50s    | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_deprecation_entry                         | 865.52µs  | 0.000           | 2.74ms   | 3746       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| wf_checking                                      | 861.30µs  | 0.000           | 34.67ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| cgu_partitioning_merge_cgus                      | 832.62µs  | 0.000           | 832.62µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_attrs                                        | 811.23µs  | 0.000           | 2.19ms   | 3148       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_explicit_item_bounds       | 796.21µs  | 0.000           | 796.21µs | 90         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| reachable_non_generics                           | 778.38µs  | 0.000           | 5.43ms   | 154        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_defaultness                                 | 753.57µs  | 0.000           | 1.94ms   | 2492       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finalize_macro_resolutions                       | 703.17µs  | 0.000           | 703.17µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_codegened_item                                | 685.40µs  | 0.000           | 1.63ms   | 2070       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_hash                                       | 684.43µs  | 0.000           | 833.73µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_dep_graph                                   | 669.01µs  | 0.000           | 669.01µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finalize_imports                                 | 668.18µs  | 0.000           | 668.18µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| own_existential_vtable_entries                   | 664.89µs  | 0.000           | 2.47ms   | 54         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_polarity              | 655.14µs  | 0.000           | 655.14µs | 2051       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| upvars_mentioned                                 | 646.99µs  | 0.000           | 1.22ms   | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_intrinsics                             | 639.11µs  | 0.000           | 678.78µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| object_lifetime_defaults_map                     | 597.99µs  | 0.000           | 1.72ms   | 3146       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| explicit_item_bounds                             | 577.68µs  | 0.000           | 2.01ms   | 218        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| static_mutability                                | 557.50µs  | 0.000           | 1.41ms   | 1398       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_const_bodies                           | 552.73µs  | 0.000           | 1.07ms   | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| adt_destructor                                   | 550.98µs  | 0.000           | 6.11ms   | 1866       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| parse_crate                                      | 534.89µs  | 0.000           | 534.89µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| parent_module_from_def_id                        | 533.50µs  | 0.000           | 1.32ms   | 2034       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| reachable_set                                    | 519.13µs  | 0.000           | 634.44µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_foreign_item            | 515.55µs  | 0.000           | 515.55µs | 3583       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| write_crate_metadata                             | 497.96µs  | 0.000           | 497.96µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner_parent                                 | 489.82µs  | 0.000           | 1.39ms   | 2390       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_adt_destructor             | 488.21µs  | 0.000           | 1.67ms   | 871        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_expn_that_defined          | 471.37µs  | 0.000           | 471.37µs | 328        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_inherent_impls             | 467.23µs  | 0.000           | 467.23µs | 129        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| stability_index                                  | 460.15µs  | 0.000           | 465.24µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| AST_validation                                   | 450.79µs  | 0.000           | 450.79µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| variances_of                                     | 440.37µs  | 0.000           | 1.61ms   | 1524       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_late_bound_map                                | 427.01µs  | 0.000           | 871.52µs | 782        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| late_bound_vars_map                              | 418.51µs  | 0.000           | 2.43ms   | 1206       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| MIR_borrow_checking                              | 409.01µs  | 0.000           | 210.43ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_loops                                  | 406.55µs  | 0.000           | 429.27µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| object_safety_violations                         | 395.99µs  | 0.000           | 2.25ms   | 26         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_check_unused                             | 393.49µs  | 0.000           | 393.49µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| in_scope_traits_map                              | 380.28µs  | 0.000           | 854.75µs | 488        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| pre_AST_expansion_lint_checks                    | 369.25µs  | 0.000           | 369.25µs | 22         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_variances_of               | 364.87µs  | 0.000           | 364.87µs | 329        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| typeck_item_bodies                               | 351.50µs  | 0.000           | 311.25ms | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_check_crate                                 | 334.81µs  | 0.000           | 248.54s  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lit_to_const                                     | 319.42µs  | 0.000           | 638.82µs | 608        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_abstract_const                              | 307.36µs  | 0.000           | 671.77µs | 980        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_reachable_non_generics     | 307.29µs  | 0.000           | 3.37ms   | 76         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| proc_macro_decls_static                          | 301.78µs  | 0.000           | 1.24ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_bounds                                      | 300.69µs  | 0.000           | 1.64ms   | 206        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_param_predicates                            | 299.91µs  | 0.000           | 497.63µs | 116        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary_check_files_are_writeable            | 292.17µs  | 0.000           | 292.17µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| complete_gated_feature_checking                  | 289.22µs  | 0.000           | 289.22µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| param_env_reveal_all_normalized                  | 283.23µs  | 0.000           | 749.86µs | 948        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| diagnostic_items                                 | 280.50µs  | 0.000           | 527.28µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_unused_trait_import                        | 274.45µs  | 0.000           | 740.62µs | 1440       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| thir_check_unsafety                              | 271.25µs  | 0.000           | 647.65µs | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| get_lang_items                                   | 267.51µs  | 0.000           | 1.08ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| opt_const_param_of                               | 262.13µs  | 0.000           | 635.22µs | 980        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coherent_trait                                   | 259.98µs  | 0.000           | 109.24ms | 62         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| configure_and_expand                             | 243.71µs  | 0.000           | 98.37ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_crate                                       | 237.24µs  | 0.000           | 18.14ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_const_fn_raw                                  | 236.36µs  | 0.000           | 692.24µs | 754        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| named_region_map                                 | 235.03µs  | 0.000           | 1.81ms   | 644        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| postorder_cnums                                  | 232.71µs  | 0.000           | 249.33µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_ctfe_mir_available      | 231.73µs  | 0.000           | 231.73µs | 265        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| destructure_const                                | 224.39µs  | 0.000           | 551.52µs | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| MIR_effect_checking                              | 223.19µs  | 0.000           | 1.12ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_ctfe_mir_available                            | 221.95µs  | 0.000           | 702.42µs | 678        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| used_trait_imports                               | 221.01µs  | 0.000           | 550.62µs | 946        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_postprocess                              | 220.04µs  | 0.000           | 220.04µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_super_predicates_of        | 217.66µs  | 0.000           | 217.66µs | 198        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_defaultness           | 217.18µs  | 0.000           | 217.18µs | 1007       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_impl_wf                                | 198.46µs  | 0.000           | 278.95µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| super_predicates_of                              | 190.98µs  | 0.000           | 637.12µs | 398        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inherent_impls                                   | 187.32µs  | 0.000           | 975.85µs | 384        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_owner_nodes                                  | 181.27µs  | 0.000           | 574.58µs | 1028       |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crates                                           | 175.57µs  | 0.000           | 348.99µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_static_mutability          | 170.75µs  | 0.000           | 170.75µs | 604        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_def                                        | 166.43µs  | 0.000           | 454.75µs | 426        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_mod_naked_functions                        | 162.73µs  | 0.000           | 183.56µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_variances                                  | 161.83µs  | 0.000           | 235.43µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_visibility                 | 156.91µs  | 0.000           | 156.91µs | 676        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| <unknown>                                        | 156.74µs  | 0.000           | 1.86ms   | 256        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| issue33140_self_ty                               | 154.56µs  | 0.000           | 475.93µs | 676        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| used_crate_source                                | 149.24µs  | 0.000           | 357.65µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unused_generic_params                            | 146.73µs  | 0.000           | 457.28µs | 702        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_name                                       | 146.01µs  | 0.000           | 294.63µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_stability                                 | 145.85µs  | 0.000           | 448.67µs | 426        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| subst_and_check_impossible_predicates            | 144.89µs  | 0.000           | 272.51µs | 392        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| prepare_outputs                                  | 143.66µs  | 0.000           | 143.66µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| inferred_outlives_crate                          | 142.97µs  | 0.000           | 1.32ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| match_checking                                   | 139.04µs  | 0.000           | 5.26ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| mir_keys                                         | 134.05µs  | 0.000           | 156.33µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| native_libraries                                 | 124.09µs  | 0.000           | 317.07µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| module_exports                                   | 123.41µs  | 0.000           | 252.21µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector_root_collections      | 118.57µs  | 0.000           | 466.48µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extern_crate                                     | 117.63µs  | 0.000           | 225.20µs | 138        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_prepare_session_directory              | 116.26µs  | 0.000           | 116.26µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link_binary                                      | 115.78µs  | 0.000           | 17.91ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_stability           | 113.68µs  | 0.000           | 113.68µs | 212        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_deprecation_entry   | 108.46µs  | 0.000           | 108.46µs | 710        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| missing_extern_crate_item                        | 102.16µs  | 0.000           | 239.25µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_compiler_builtins                             | 97.18µs   | 0.000           | 240.10µs | 366        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_profiler_runtime                              | 97.15µs   | 0.000           | 232.13µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| missing_lang_items                               | 95.62µs   | 0.000           | 236.90µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| serialize_work_products                          | 95.02µs   | 0.000           | 95.02µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_no_builtins                                   | 93.51µs   | 0.000           | 227.82µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extra_filename                                   | 93.14µs   | 0.000           | 245.83µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_trait_def                  | 92.71µs   | 0.000           | 92.71µs  | 212        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_host_hash                                  | 90.86µs   | 0.000           | 218.94µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| defined_lang_items                               | 89.28µs   | 0.000           | 494.30µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dep_kind                                         | 86.78µs   | 0.000           | 214.64µs | 364        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_persist_result_cache                   | 86.28µs   | 0.000           | 24.12ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| index_hir                                        | 85.40µs   | 0.000           | 6.37ms   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_crate                                        | 81.55µs   | 0.000           | 507.70µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| hir_module_items                                 | 80.32µs   | 0.000           | 166.41µs | 46         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| all_diagnostic_items                             | 79.96µs   | 0.000           | 226.06µs | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| normalize_opaque_types                           | 78.74µs   | 0.000           | 139.73µs | 158        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbol_mangling_version                          | 77.18µs   | 0.000           | 167.03µs | 164        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| setup_global_ctxt                                | 75.93µs   | 0.000           | 75.93µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| serialize_dep_graph                              | 75.57µs   | 0.000           | 24.25ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| orphan_checking                                  | 74.84µs   | 0.000           | 74.84µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_constness                                   | 74.00µs   | 0.000           | 205.66µs | 196        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_finalize_session_directory             | 72.76µs   | 0.000           | 72.76µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| symbols_for_closure_captures                     | 72.57µs   | 0.000           | 101.04µs | 62         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_structural_eq_impls                          | 64.61µs   | 0.000           | 380.82µs | 34         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_diagnostic_items           | 60.19µs   | 0.000           | 60.19µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_prepare_load_dep_graph                 | 59.64µs   | 0.000           | 59.64µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_typeck_results                               | 59.22µs   | 0.000           | 152.80µs | 198        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_native_libraries           | 52.28µs   | 0.000           | 52.28µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| drop_compiler                                    | 44.74µs   | 0.000           | 44.74µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_1                                  | 44.04µs   | 0.000           | 12.22ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_persist_dep_graph                      | 41.97µs   | 0.000           | 52.02µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unsafety_checking                                | 40.16µs   | 0.000           | 40.16µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_load_query_result_cache                | 38.04µs   | 0.000           | 38.04µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_promotable_const_fn                           | 37.49µs   | 0.000           | 136.13µs | 84         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| default_anon_const_substs                        | 36.60µs   | 0.000           | 106.19µs | 42         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_defined_lang_items         | 33.75µs   | 0.000           | 174.50µs | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coherence_checking                               | 33.03µs   | 0.000           | 106.41ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_extra_filename             | 27.07µs   | 0.000           | 27.07µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_used_crate_source          | 25.89µs   | 0.000           | 25.89µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_private_dep                                   | 25.27µs   | 0.000           | 46.07µs  | 58         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_inherent_impls_overlap_check               | 23.10µs   | 0.000           | 87.89µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_const_fn_raw            | 22.48µs   | 0.000           | 22.48µs  | 61         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_unreachable_local_definition                  | 22.29µs   | 0.000           | 52.03µs  | 86         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_missing_lang_items         | 22.12µs   | 0.000           | 22.12µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_trait_item_well_formed                     | 19.74µs   | 0.000           | 42.03µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_impl_constness             | 19.66µs   | 0.000           | 19.66µs  | 81         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_inherent_impls                             | 19.39µs   | 0.000           | 24.32µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| supported_target_features                        | 18.35µs   | 0.000           | 30.54µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| find_cgu_reuse                                   | 18.09µs   | 0.000           | 18.09µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| blocked_on_dep_graph_loading                     | 17.94µs   | 0.000           | 17.94µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| crate_injection                                  | 17.74µs   | 0.000           | 17.74µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_compiler_builtins       | 17.67µs   | 0.000           | 17.67µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_types_checking                              | 16.01µs   | 0.000           | 248.07s  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_freeze_raw                                    | 14.93µs   | 0.000           | 608.63µs | 12         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| liveness_and_intrinsic_checking                  | 13.92µs   | 0.000           | 8.63ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_symbol_mangling_version    | 13.67µs   | 0.000           | 13.67µs  | 82         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_extern_crate               | 13.40µs   | 0.000           | 13.40µs  | 69         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_garbage_collect_session_directories    | 12.65µs   | 0.000           | 12.65µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_hash                 | 12.28µs   | 0.000           | 12.28µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_lookup_const_stability     | 12.19µs   | 0.000           | 12.19µs  | 7          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| type_collecting                                  | 12.18µs   | 0.000           | 15.46ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_name                 | 11.80µs   | 0.000           | 11.80µs  | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| foreign_modules                                  | 11.78µs   | 0.000           | 12.92µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| get_lib_features                                 | 10.87µs   | 0.000           | 13.35µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| link                                             | 10.43µs   | 0.000           | 21.62ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| module_lints                                     | 10.08µs   | 0.000           | 5.21ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| encode_query_results                             | 9.85µs    | 0.000           | 19.58ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| all_local_trait_impls                            | 9.22µs    | 0.000           | 18.46µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lookup_const_stability                           | 9.20µs    | 0.000           | 28.94µs  | 14         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_load_dep_graph                         | 8.21µs    | 0.000           | 8.21µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| privacy_checking_modules                         | 7.93µs    | 0.000           | 12.51ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_missing_extern_crate_item  | 7.50µs    | 0.000           | 7.50µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_no_builtins             | 7.48µs    | 0.000           | 7.48µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| entry_fn                                         | 7.45µs    | 0.000           | 8.47µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_3                                  | 7.36µs    | 0.000           | 52.24ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_profiler_runtime        | 7.27µs    | 0.000           | 7.27µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_crate_host_hash            | 7.26µs    | 0.000           | 7.26µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| looking_for_entry_point                          | 7.20µs    | 0.000           | 15.04µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_dep_kind                   | 6.95µs    | 0.000           | 6.95µs   | 182        |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolutions                                      | 6.89µs    | 0.000           | 13.54µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| partition_and_assert_distinct_symbols            | 6.47µs    | 0.000           | 101.50ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| looking_for_derive_registrar                     | 6.37µs    | 0.000           | 1.25ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| super_predicates_that_define_assoc_type          | 5.87µs    | 0.000           | 12.88µs  | 20         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| features_query                                   | 5.75µs    | 0.000           | 14.99µs  | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_crate                                    | 5.67µs    | 0.000           | 11.40ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| impl_wf_inference                                | 5.34µs    | 0.000           | 262.30µs | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| coerce_unsized_info                              | 5.12µs    | 0.000           | 10.19µs  | 6          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| finish_ongoing_codegen                           | 5.10µs    | 0.000           | 2.63ms   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| macro_expand_crate                               | 4.40µs    | 0.000           | 85.92ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| unused_lib_feature_checking                      | 4.38µs    | 0.000           | 15.61µs  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| generator_kind                                   | 3.84µs    | 0.000           | 8.32µs   | 12         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| limits                                           | 3.25µs    | 0.000           | 3.96µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| attributes_injection                             | 3.23µs    | 0.000           | 3.23µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| monomorphization_collector                       | 3.20µs    | 0.000           | 2.79s    | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| lint_checking                                    | 3.12µs    | 0.000           | 29.64ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_mir_const_qualif           | 2.86µs    | 0.000           | 2.86µs   | 9          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| dependency_formats                               | 2.72µs    | 0.000           | 3.86µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| item_bodies_checking                             | 1.95µs    | 0.000           | 311.24ms | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| trait_explicit_predicates_and_bounds             | 1.93µs    | 0.000           | 2.64µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| output_filenames                                 | 1.90µs    | 0.000           | 3.90µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| plugin_loading                                   | 1.85µs    | 0.000           | 1.85µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_is_private_dep             | 1.78µs    | 0.000           | 1.78µs   | 28         |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_global_allocator                             | 1.71µs    | 0.000           | 2.74µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| allocator_kind                                   | 1.69µs    | 0.000           | 3.57µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| misc_checking_2                                  | 1.62µs    | 0.000           | 13.89ms  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| metadata_decode_entry_coerce_unsized_info        | 1.57µs    | 0.000           | 1.57µs   | 3          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| join_worker_thread                               | 1.39µs    | 0.000           | 1.39µs   | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| backend_optimization_level                       | 1.30µs    | 0.000           | 2.66µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| is_panic_runtime                                 | 1.08µs    | 0.000           | 2.24µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_unused_extern_crates                       | 1.00µs    | 0.000           | 1.97µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_create_a_macro_crate                       | 991.00ns  | 0.000           | 991.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| extern_mod_stmt_cnum                             | 782.00ns  | 0.000           | 1.59µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| has_panic_handler                                | 732.00ns  | 0.000           | 1.53µs   | 2          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| maybe_building_test_harness                      | 531.00ns  | 0.000           | 531.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| layout_testing                                   | 251.00ns  | 0.000           | 251.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_report_errors                            | 251.00ns  | 0.000           | 251.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| incr_comp_query_cache_promotion                  | 220.00ns  | 0.000           | 220.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| assert_dep_graph                                 | 170.00ns  | 0.000           | 170.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| resolve_main                                     | 151.00ns  | 0.000           | 151.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_unused_macros                              | 111.00ns  | 0.000           | 111.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| llvm_dump_timing_file                            | 110.00ns  | 0.000           | 110.00ns | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| check_dirty_clean                                | 90.00ns   | 0.000           | 90.00ns  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
| plugin_registration                              | 60.00ns   | 0.000           | 60.00ns  | 1          |
+--------------------------------------------------+-----------+-----------------+----------+------------+
Total cpu time: 256.97949382s

@eddyb
Copy link
Member

eddyb commented Oct 1, 2021

Those -Z self-profile outputs make a lot of sense - after all, the regressing change had to do with inference.

Which makes me wonder how accurate #89195 (comment) is. Could there be two (or more) regressions here?


But also, I suspect there may be some confusion going on in the thread.
When I see something like this, I have some implicit assumptions:

I can confirm that cargo +nightly check -p linkerd-app-inbound takes a normal amount of time:

    Checking linkerd-app-inbound v0.1.0 (/home/eliza/Code/linkerd2-proxy/linkerd/app/inbound)
    Finished dev [unoptimized] target(s) in 6m 25s

The assumption is that only the crate being listed, was compiled. But that may not be the case.
Perhaps all runs should use -Z timings and list that (per-crate) time, not the full build time?

Alternatively, this is what I prefer to do (partly because it's way more automatable):

  • run a full cargo build -p foo/cargo check -p foo first, and ignore its timings
  • always rm -r target/**/incremental, never run cargo clean (which is too aggressive)
    • to get even more reuse, pass --target-dir paths that differ between nightlies
  • touch src/lib.rs for the crate to compile
  • run cargo build -p foo/cargo check -p foo again and make sure it only compiles one crate

@camelid camelid added this to the 1.57.0 milestone Oct 22, 2021
@camelid camelid added regression-from-stable-to-beta Performance or correctness regression from stable to beta. and removed regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Oct 22, 2021
@paolobarbolini
Copy link
Contributor

paolobarbolini commented Oct 23, 2021

Shouldn't the label say regression from stable to stable @camelid? The regression is also present in 1.56

@davidpdrsn
Copy link

I’ve heard from several who’s projects using axum compile significantly slower on 1.56:

@paolobarbolini is right that this is a regression from stable to stable.

Anything we can do to help with this issue?

@khuey
Copy link
Contributor Author

khuey commented Oct 23, 2021

I don't believe the changeset that we identified as causing this regression is present in 1.56. The regression in #89601 doesn't point to the same range as this. I don't think that bug is a duplicate of this.

@camelid
Copy link
Member

camelid commented Oct 23, 2021

Shouldn't the label say regression from stable to stable @camelid? The regression is also present in 1.56

The bisections above (e.g., #89195 (comment)) showed that the regression occurred in #88945, which landed in 1.57.0 according to its automatically-added milestone.

Based on #89195 (comment), it seems that there is also a separate, similar regression that landed in 1.56.0.

@gz
Copy link
Contributor

gz commented Nov 11, 2021

I think I ran into this issue too, I reduced it to this (probably can be reduced further...):

use std::sync::Arc;

pub trait Dispatch {
    type WriteOperation;
}

pub struct Log<'a, T>
{
    slog: &'a [T],
    replicas: Vec<Arc<Replica<'a, T>>>,
}

pub struct Replica<'a, D>
{
    slog: Log<'a, <D as Dispatch>::WriteOperation>,
}

(rustc does not return for me on stable&nightly -- could also be something independent/or can't be detected due to the cyclic dependency)

@lqd
Copy link
Member

lqd commented Nov 11, 2021

The above example seems indeed related to recursive types, as the following is enough to trigger the problem:

pub trait Dispatch {
    type WriteOperation;
}

pub struct Log<'a, T>(&'a Log<'a, <T as Dispatch>::WriteOperation>);

(but that seems to reproduce on older versions, as old as 1.31, and thus unrelated to the OP)

@camelid
Copy link
Member

camelid commented Nov 11, 2021

The above example seems indeed related to recursive types, as the following is enough to trigger the problem:

pub trait Dispatch {
    type WriteOperation;
}

pub struct Log<'a, T>(&'a Log<'a, <T as Dispatch>::WriteOperation>);

With &'a ... replaced with Box, the compiler doesn't hang and instead reports the error that it couldn't satisfy T: Dispatch:

error[E0277]: the trait bound `T: Dispatch` is not satisfied
 --> src/lib.rs:5:19
  |
5 | pub struct Log<T>(Box<Log<<T as Dispatch>::WriteOperation>>);
  |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Dispatch` is not implemented for `T`
  |
help: consider restricting type parameter `T`
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>);
  |                 ++++++++++

Adding that constraint still leads to an error:

error[E0277]: the trait bound `<T as Dispatch>::WriteOperation: Dispatch` is not satisfied
 --> src/lib.rs:5:33
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>);
  |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Dispatch` is not implemented for `<T as Dispatch>::WriteOperation`
  |
note: required by a bound in `Log`
 --> src/lib.rs:5:19
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>);
  |                   ^^^^^^^^ required by this bound in `Log`
help: consider introducing a `where` bound, but there might be an alternative better way to express this requirement
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>) where <T as Dispatch>::WriteOperation: Dispatch;
  |                                                                        +++++++++++++++++++++++++++++++++++++++++++++++

Adding the suggested where bound leads to yet another error (you get the idea):

error[E0277]: the trait bound `<<T as Dispatch>::WriteOperation as Dispatch>::WriteOperation: Dispatch` is not satisfied
 --> src/lib.rs:5:33
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>)
  |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Dispatch` is not implemented for `<<T as Dispatch>::WriteOperation as Dispatch>::WriteOperation`
  |
note: required by a bound in `Log`
 --> src/lib.rs:7:38
  |
5 | pub struct Log<T: Dispatch>(Box<Log<<T as Dispatch>::WriteOperation>>)
  |            --- required by a bound in this
6 | where
7 |     <T as Dispatch>::WriteOperation: Dispatch;
  |                                      ^^^^^^^^ required by this bound in `Log`
help: consider extending the `where` bound, but there might be an alternative better way to express this requirement
  |
7 |     <T as Dispatch>::WriteOperation: Dispatch, <<T as Dispatch>::WriteOperation as Dispatch>::WriteOperation: Dispatch;
  |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I guess the issue is with polymorphic type recursion? It's interesting that using Box prevents the hang, like the bug discussed earlier in this issue thread. Although for this particular hang it's a bit surprising to me that Box stops the (presumably-) infinite loop.

@wada314
Copy link
Contributor

wada314 commented Nov 15, 2021

I'm also got hit by this error today. It seems to be passing the both lifetime and T::AssociatedType recursively makes this problem.

use std::marker::PhantomData;

trait MyTrait {
    type AnotherMyTrait: MyTrait;
}

// rustc infinitely loops
struct Item<'foo, T: MyTrait> {
    phantom: PhantomData<Item<'foo, T::AnotherMyTrait>>,
    _just_for_remove_unused_error: PhantomData<&'foo T>,
}

Does anyone know if this is supposed to be an error code actually, or just the compiler is not supporting yet?

@apiraino
Copy link
Contributor

Assigning priority as discussed in the Zulip thread of the Prioritization Working Group.

@rustbot label -I-prioritize +P-high

@rustbot rustbot added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Nov 18, 2021
@pnkfelix pnkfelix self-assigned this Nov 19, 2021
@pnkfelix pnkfelix added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Dec 2, 2021
@olix0r
Copy link

olix0r commented Dec 21, 2021

It does look like #90423 helps the Linkerd proxy substantially. On the most recent nightly, a release build takes <4 minutes, whereas stable-1.57.0 takes at least 40 minutes (I didn't wait for the build to complete).

Thanks @jackh726! We're looking forward to 1.59.0 :)

@jackh726
Copy link
Member

I didn't do much here other than review. The real thanks should go to @Aaron1011 and the others who have done related work.

@khuey
Copy link
Contributor Author

khuey commented Mar 27, 2022

I don't observe this on 1.59.0.

@khuey khuey closed this as completed Mar 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests