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

Use liballoc's specialised in-place vec collection #97870

Merged
merged 1 commit into from
Nov 19, 2022

Conversation

eggyal
Copy link
Contributor

@eggyal eggyal commented Jun 8, 2022

liballoc already specialises in-place vector collection, so manually
reimplementing it in IdFunctor::try_map_id was superfluous.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 8, 2022
@rust-highfive
Copy link
Collaborator

r? @wesleywiser

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 8, 2022
liballoc already specialises in-place vector collection, so manually
reimplementing it in `IdFunctor::try_map_id` was superfluous.
@wesleywiser
Copy link
Member

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 30, 2022
@bors
Copy link
Contributor

bors commented Jun 30, 2022

⌛ Trying commit 9208c08 with merge 72423f087b612b625133cd04348ee1bc3d887e43...

@bors
Copy link
Contributor

bors commented Jun 30, 2022

☀️ Try build successful - checks-actions
Build commit: 72423f087b612b625133cd04348ee1bc3d887e43 (72423f087b612b625133cd04348ee1bc3d887e43)

@rust-timer
Copy link
Collaborator

Queued 72423f087b612b625133cd04348ee1bc3d887e43 with parent 7425fb2, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (72423f087b612b625133cd04348ee1bc3d887e43): comparison url.

Instruction count

  • Primary benchmarks: mixed results
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions 😿
(primary)
1.2% 1.3% 2
Regressions 😿
(secondary)
2.8% 3.2% 6
Improvements 🎉
(primary)
-0.2% -0.2% 1
Improvements 🎉
(secondary)
-1.5% -1.5% 2
All 😿🎉 (primary) 0.7% 1.3% 3

Max RSS (memory usage)

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions 😿
(primary)
0.9% 0.9% 1
Regressions 😿
(secondary)
2.4% 2.5% 2
Improvements 🎉
(primary)
-2.0% -2.0% 1
Improvements 🎉
(secondary)
-2.4% -3.3% 2
All 😿🎉 (primary) -0.5% -2.0% 2

Cycles

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regression found
mean1 max count2
Regressions 😿
(primary)
3.9% 5.3% 2
Regressions 😿
(secondary)
2.5% 2.5% 1
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
N/A N/A 0
All 😿🎉 (primary) 3.9% 5.3% 2

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf +perf-regression

Footnotes

  1. the arithmetic mean of the percent change 2 3

  2. number of relevant changes 2 3

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 1, 2022
@eggyal
Copy link
Contributor Author

eggyal commented Jul 1, 2022

Well that's surprising... I'll delve into this over the weekend.

@wesleywiser wesleywiser added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 5, 2022
@eggyal
Copy link
Contributor Author

eggyal commented Jul 7, 2022

cachegrind diffs of the relevant regressed benchmarks follow beneath. In each case there has been a significant increase in calls to process_obligations, which is certainly curious. Need to think about this a little more.


Primary benchmarks

        Benchmark         | Profile | Scenario  | % Change | Significance
                          |         |           |          |    Factor
cranelift-codegen-0.82.1 |  check  |   full    |   1.26%  |     8.15x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-cranelift-codegen-0.82.1-Check-Full; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-cranelift-codegen-0.82.1-Check-Full
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name cranelift_codegen --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg feature="default" --cfg feature="gimli" --cfg feature="std" --cfg feature="unwind" -C metadata=0cdcc3646ceb2365 -C extra-filename=-0cdcc3646ceb2365 --out-dir /tmp/.tmpE2qgrH/target/debug/deps -L dependency=/tmp/.tmpE2qgrH/target/debug/deps --extern cranelift_bforest=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_bforest-b49c6be2343154ae.rmeta --extern cranelift_codegen_shared=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_codegen_shared-2571f8f2275f7605.rmeta --extern cranelift_entity=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_entity-c391de30ba436e90.rmeta --extern gimli=/tmp/.tmpE2qgrH/target/debug/deps/libgimli-1d637e55d6b50218.rmeta --extern log=/tmp/.tmpE2qgrH/target/debug/deps/liblog-e724a7b6173dd03e.rmeta --extern regalloc=/tmp/.tmpE2qgrH/target/debug/deps/libregalloc-60dbf5b5aa455e72.rmeta --extern smallvec=/tmp/.tmpE2qgrH/target/debug/deps/libsmallvec-61e548ea0cf3be6d.rmeta --extern target_lexicon=/tmp/.tmpE2qgrH/target/debug/deps/libtarget_lexicon-57e59898b1f55589.rmeta --cfg feature="x86" -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name cranelift_codegen --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg feature="default" --cfg feature="gimli" --cfg feature="std" --cfg feature="unwind" -C metadata=0cdcc3646ceb2365 -C extra-filename=-0cdcc3646ceb2365 --out-dir /tmp/.tmpEDp8Z4/target/debug/deps -L dependency=/tmp/.tmpEDp8Z4/target/debug/deps --extern cranelift_bforest=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_bforest-b49c6be2343154ae.rmeta --extern cranelift_codegen_shared=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_codegen_shared-2571f8f2275f7605.rmeta --extern cranelift_entity=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_entity-c391de30ba436e90.rmeta --extern gimli=/tmp/.tmpEDp8Z4/target/debug/deps/libgimli-1d637e55d6b50218.rmeta --extern log=/tmp/.tmpEDp8Z4/target/debug/deps/liblog-e724a7b6173dd03e.rmeta --extern regalloc=/tmp/.tmpEDp8Z4/target/debug/deps/libregalloc-60dbf5b5aa455e72.rmeta --extern smallvec=/tmp/.tmpEDp8Z4/target/debug/deps/libsmallvec-61e548ea0cf3be6d.rmeta --extern target_lexicon=/tmp/.tmpEDp8Z4/target/debug/deps/libtarget_lexicon-57e59898b1f55589.rmeta --cfg feature="x86" -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-cranelift-codegen-0.82.1-Check-Full
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
215,143,446  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
233,015,777  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-24,410,765  ???:<rustc_trait_selection::traits::wf::WfPredicates>::nominal_obligations
 21,424,454  ???:<rustc_trait_selection::traits::wf::WfPredicates>::compute
-12,963,890  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
-10,684,303  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
  9,504,383  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_candidates_for_type
 -6,451,979  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  4,920,108  ???:<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
  4,744,445  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -4,592,024  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 -4,512,951  ???:<rustc_middle::ty::sty::Region as rustc_middle::ty::fold::TypeFoldable>::visit_with::<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
  2,918,224  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  2,419,076  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
 -1,987,571  ???:rustc_middle::ty::util::fold_list::<rustc_middle::ty::fold::BoundVarReplacer, rustc_middle::ty::Ty, <&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with<rustc_middle::ty::fold::BoundVarReplacer>::{closure
  1,847,278  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
  1,480,296  ???:<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>::for_item::<<rustc_typeck::check::method::probe::ProbeContext>::fresh_item_substs::{closure
  1,455,896  ???:<rustc_borrowck::type_check::TypeChecker>::typeck_mir
 -1,314,000  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  1,310,339  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
 -1,189,433  ???:<rustc_borrowck::MirBorrowckCtxt as rustc_mir_dataflow::framework::visitor::ResultsVisitor>::visit_statement_before_primary_effect
 -1,046,329  ???:rustc_mir_transform::check_unsafety::unsafety_check_result
 -1,028,421  ???:<rustc_middle::ty::Ty as rustc_middle::ty::fold::TypeSuperFoldable>::super_visit_with::<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
   -992,447  ???:_rjem_je_arena_cache_bin_fill_small
   -965,746  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_candidates
    948,985  ???:<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates) as rustc_middle::ty::fold::TypeFoldable>::fold_with::<rustc_infer::infer::resolve::OpportunisticVarResolver>
   -948,862  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
    877,569  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_candidates_for_incoherent_ty
    792,219  ???:<rustc_middle::hir::map::Map>::local_def_id_to_hir_id
   -669,169  ???:<rustc_typeck::check::writeback::WritebackCx as rustc_hir::intravisit::Visitor>::visit_expr
   -586,837  ???:rustc_trait_selection::traits::project::normalize::<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates)>
    582,085  ???:core::ptr::drop_in_place::<rustc_infer::infer::InferCtxtBuilder>
   -559,957  ???:core::ptr::drop_in_place::<rustc_typeck::check::inherited::InheritedBuilder>
    500,205  ???:<rustc_infer::infer::InferCtxt as rustc_trait_selection::infer::InferCtxtExt>::partially_normalize_associated_types_in::<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates)>
    488,343  ???:<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>::for_item::<rustc_typeck::check::wfcheck::check_where_clauses::{closure
   -479,072  ???:_rjem_je_malloc_default
    468,475  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
   -458,620  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    454,831  ???:<rustc_typeck::check::fn_ctxt::FnCtxt>::associated_value
    452,466  ???:<rustc_middle::ty::Predicate as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
   -452,466  ???:<rustc_middle::ty::Predicate as rustc_middle::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
   -433,615  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_extension_candidates_for_trait
   -407,048  ???:<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
    400,588  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_middle::infer::canonical::CanonicalVarInfo, rustc_middle::ty::subst::GenericArg, (), <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
   -389,077  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<alloc::vec::Vec<rustc_middle::traits::query::OutlivesBound>>
    379,225  ???:<rustc_middle::ty::fold::RegionFolder as rustc_middle::ty::fold::FallibleTypeFolder>::try_fold_ty
   -379,205  ???:<rustc_middle::ty::Ty as rustc_middle::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_middle::ty::fold::RegionFolder>
    377,620  ???:<alloc::vec::Vec<rustc_type_ir::UniverseIndex> as alloc::vec::spec_from_iter::SpecFromIter<rustc_type_ir::UniverseIndex, core::iter::adapters::chain::Chain<core::iter::sources::once::Once<rustc_type_ir::UniverseIndex>, core::iter::adapters::map::Map<core::ops::range::Range<u32>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
   -360,979  ???:<rustc_borrowck::borrow_set::BorrowSet>::build
   -349,404  ???:<rustc_typeck::check::method::confirm::ConfirmContext>::confirm
    335,051  ???:<rustc_mir_transform::check_unsafety::UnsafetyChecker as rustc_middle::mir::visit::Visitor>::visit_operand
    334,912  ???:<rustc_trait_selection::traits::select::SelectionContext>::match_impl
    329,027  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::GenericPredicates>, rustc_middle::ty::generics::GenericPredicates, rustc_middle::ty::query::copy<rustc_middle::ty::generics::GenericPredicates>>
    322,563  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
    322,165  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
   -322,025  ???:rustc_typeck::check::compare_method::compare_impl_method
   -307,947  ???:rustc_typeck::check::wfcheck::check_where_clauses
    305,696  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
    302,950  ???:<core::result::Result<rustc_middle::ty::Ty, rustc_middle::ty::error::TypeError> as rustc_type_ir::InternIteratorElement<rustc_middle::ty::Ty, rustc_middle::ty::Ty>>::intern_with::<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_middle::ty::relate::super_relate_tys<rustc_infer::infer::equate::Equate>::{closure
   -284,280  ???:<rustc_middle::ty::context::TyCtxt>::def_kind::<rustc_span::def_id::LocalDefId>
    277,248  ???:<rustc_borrowck::type_check::TypeChecker>::normalize::<rustc_middle::ty::Ty, rustc_borrowck::type_check::Locations>
   -266,390  ???:rustc_borrowck::type_check::liveness::trace::trace
    246,790  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
    242,088  ???:<rustc_borrowck::MirBorrowckCtxt>::access_place
    228,735  ???:<rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::register_bound
    226,112  ???:<rustc_index::vec::IndexVec<rustc_middle::ty::sty::BoundVar, rustc_middle::ty::subst::GenericArg> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_infer::infer::canonical::canonicalizer::Canonicalizer>
    222,460  ???:<alloc::vec::Vec<rustc_middle::ty::subst::GenericArg> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::ty::subst::GenericArg, core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
   -216,640  ???:<rustc_middle::ty::consts::Const as rustc_middle::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_typeck::check::writeback::EraseEarlyRegions>
cranelift-codegen-0.82.1 |  check  | incr-full |   1.11%  |     5.39x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-cranelift-codegen-0.82.1-Check-IncrFull; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-cranelift-codegen-0.82.1-Check-IncrFull
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name cranelift_codegen --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmpE2qgrH/incremental-state --cfg feature="default" --cfg feature="gimli" --cfg feature="std" --cfg feature="unwind" -C metadata=0cdcc3646ceb2365 -C extra-filename=-0cdcc3646ceb2365 --out-dir /tmp/.tmpE2qgrH/target/debug/deps -L dependency=/tmp/.tmpE2qgrH/target/debug/deps --extern cranelift_bforest=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_bforest-b49c6be2343154ae.rmeta --extern cranelift_codegen_shared=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_codegen_shared-2571f8f2275f7605.rmeta --extern cranelift_entity=/tmp/.tmpE2qgrH/target/debug/deps/libcranelift_entity-c391de30ba436e90.rmeta --extern gimli=/tmp/.tmpE2qgrH/target/debug/deps/libgimli-1d637e55d6b50218.rmeta --extern log=/tmp/.tmpE2qgrH/target/debug/deps/liblog-e724a7b6173dd03e.rmeta --extern regalloc=/tmp/.tmpE2qgrH/target/debug/deps/libregalloc-60dbf5b5aa455e72.rmeta --extern smallvec=/tmp/.tmpE2qgrH/target/debug/deps/libsmallvec-61e548ea0cf3be6d.rmeta --extern target_lexicon=/tmp/.tmpE2qgrH/target/debug/deps/libtarget_lexicon-57e59898b1f55589.rmeta --cfg feature="x86" -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name cranelift_codegen --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmpEDp8Z4/incremental-state --cfg feature="default" --cfg feature="gimli" --cfg feature="std" --cfg feature="unwind" -C metadata=0cdcc3646ceb2365 -C extra-filename=-0cdcc3646ceb2365 --out-dir /tmp/.tmpEDp8Z4/target/debug/deps -L dependency=/tmp/.tmpEDp8Z4/target/debug/deps --extern cranelift_bforest=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_bforest-b49c6be2343154ae.rmeta --extern cranelift_codegen_shared=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_codegen_shared-2571f8f2275f7605.rmeta --extern cranelift_entity=/tmp/.tmpEDp8Z4/target/debug/deps/libcranelift_entity-c391de30ba436e90.rmeta --extern gimli=/tmp/.tmpEDp8Z4/target/debug/deps/libgimli-1d637e55d6b50218.rmeta --extern log=/tmp/.tmpEDp8Z4/target/debug/deps/liblog-e724a7b6173dd03e.rmeta --extern regalloc=/tmp/.tmpEDp8Z4/target/debug/deps/libregalloc-60dbf5b5aa455e72.rmeta --extern smallvec=/tmp/.tmpEDp8Z4/target/debug/deps/libsmallvec-61e548ea0cf3be6d.rmeta --extern target_lexicon=/tmp/.tmpEDp8Z4/target/debug/deps/libtarget_lexicon-57e59898b1f55589.rmeta --cfg feature="x86" -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-cranelift-codegen-0.82.1-Check-IncrFull
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
217,307,833  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
233,003,852  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-31,050,386  ???:<rustc_trait_selection::traits::wf::WfPredicates>::nominal_obligations
 28,185,024  ???:<rustc_trait_selection::traits::wf::WfPredicates>::compute
-14,021,415  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
-12,963,890  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
 11,709,231  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_candidates_for_type
 -6,427,252  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  6,384,272  ???:<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure
  4,920,108  ???:<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
  4,744,425  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -4,724,571  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 -4,512,951  ???:<rustc_middle::ty::sty::Region as rustc_middle::ty::fold::TypeFoldable>::visit_with::<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
 -3,148,057  ???:<dyn rustc_typeck::astconv::AstConv>::res_to_ty
  3,050,848  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  2,658,176  ???:<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>::for_item::<<rustc_typeck::check::method::probe::ProbeContext>::fresh_item_substs::{closure
  2,419,630  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
 -1,987,571  ???:rustc_middle::ty::util::fold_list::<rustc_middle::ty::fold::BoundVarReplacer, rustc_middle::ty::Ty, <&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with<rustc_middle::ty::fold::BoundVarReplacer>::{closure
 -1,914,913  ???:<dyn rustc_typeck::astconv::AstConv>::create_substs_for_generic_args::<<rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path::CreateCtorSubstsContext>
  1,786,063  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
  1,548,848  ???:<rustc_data_structures::intern::Interned<rustc_data_structures::intern::WithStableHash<rustc_middle::ty::TyS>> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,490,100  ???:<rustc_middle::hir::map::Map>::local_def_id_to_hir_id
  1,452,866  ???:<rustc_borrowck::type_check::TypeChecker>::typeck_mir
  1,362,860  ???:rustc_typeck::collect::gather_explicit_predicates_of
 -1,328,076  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  1,322,851  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
 -1,189,433  ???:<rustc_borrowck::MirBorrowckCtxt as rustc_mir_dataflow::framework::visitor::ResultsVisitor>::visit_statement_before_primary_effect
 -1,046,494  ???:rustc_mir_transform::check_unsafety::unsafety_check_result
  1,033,716  ???:rustc_typeck::collect::generics_of
 -1,028,421  ???:<rustc_middle::ty::Ty as rustc_middle::ty::fold::TypeSuperFoldable>::super_visit_with::<<rustc_middle::ty::context::TyCtxt>::any_free_region_meets::RegionVisitor<<rustc_middle::ty::context::TyCtxt>::for_each_free_region<rustc_middle::ty::Ty, <rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure
   -999,091  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_candidates
   -990,917  ???:_rjem_je_arena_cache_bin_fill_small
    948,985  ???:<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates) as rustc_middle::ty::fold::TypeFoldable>::fold_with::<rustc_infer::infer::resolve::OpportunisticVarResolver>
   -948,862  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -900,562  ???:<rustc_middle::ty::context::TyCtxt>::def_kind::<rustc_span::def_id::LocalDefId>
    891,144  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_candidates_for_incoherent_ty
   -850,538  ???:<rustc_typeck::check::method::probe::ProbeContext>::xform_self_ty
   -846,347  ???:<dyn rustc_typeck::astconv::AstConv>::create_substs_for_generic_args::<<rustc_typeck::check::method::confirm::ConfirmContext>::instantiate_method_substs::MethodSubstsCtxt>
   -837,876  ???:<rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path
    821,284  ???:<rustc_typeck::check::fn_ctxt::FnCtxt>::associated_value
    778,491  ???:<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>::for_item::<rustc_typeck::check::wfcheck::check_where_clauses::{closure
   -765,861  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_query_system::dep_graph::graph::DepNodeIndex, (rustc_query_system::dep_graph::graph::DepNodeIndex, ()), (), <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
    723,788  ???:<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>, <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
    714,324  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
   -694,977  ???:<[rustc_middle::ty::subst::GenericArg] as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
   -669,169  ???:<rustc_typeck::check::writeback::WritebackCx as rustc_hir::intravisit::Visitor>::visit_expr
   -649,328  ???:rustc_typeck::outlives::implicit_infer::infer_predicates
    618,295  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
   -586,837  ???:rustc_trait_selection::traits::project::normalize::<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates)>
    582,085  ???:core::ptr::drop_in_place::<rustc_infer::infer::InferCtxtBuilder>
   -559,957  ???:core::ptr::drop_in_place::<rustc_typeck::check::inherited::InheritedBuilder>
   -512,878  ???:_rjem_je_malloc_default
    500,205  ???:<rustc_infer::infer::InferCtxt as rustc_trait_selection::infer::InferCtxtExt>::partially_normalize_associated_types_in::<(rustc_middle::ty::sty::FnSig, rustc_middle::ty::InstantiatedPredicates)>
   -497,598  ???:<std::thread::local::LocalKey<core::cell::RefCell<std::collections::hash::map::HashMap<(usize, usize, rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>>>::with::<<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable::{closure
    485,402  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
   -458,788  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
   -452,466  ???:<rustc_middle::ty::Predicate as rustc_middle::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
    452,466  ???:<rustc_middle::ty::Predicate as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
   -451,147  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_extension_candidates_for_trait
   -407,048  ???:<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
    400,588  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_middle::infer::canonical::CanonicalVarInfo, rustc_middle::ty::subst::GenericArg, (), <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
   -389,077  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<alloc::vec::Vec<rustc_middle::traits::query::OutlivesBound>>
    379,225  ???:<rustc_middle::ty::fold::RegionFolder as rustc_middle::ty::fold::FallibleTypeFolder>::try_fold_ty
   -379,205  ???:<rustc_middle::ty::Ty as rustc_middle::ty::fold::TypeSuperFoldable>::super_fold_with::<rustc_middle::ty::fold::RegionFolder>
    377,620  ???:<alloc::vec::Vec<rustc_type_ir::UniverseIndex> as alloc::vec::spec_from_iter::SpecFromIter<rustc_type_ir::UniverseIndex, core::iter::adapters::chain::Chain<core::iter::sources::once::Once<rustc_type_ir::UniverseIndex>, core::iter::adapters::map::Map<core::ops::range::Range<u32>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
   -360,979  ???:<rustc_borrowck::borrow_set::BorrowSet>::build
   -357,151  ???:<[rustc_middle::ty::Ty] as rustc_serialize::serialize::Encodable<rustc_query_impl::on_disk_cache::CacheEncoder>>::encode
   -349,877  ???:rustc_typeck::check::compare_method::compare_impl_method
    349,819  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::GenericPredicates>, rustc_middle::ty::generics::GenericPredicates, rustc_middle::ty::query::copy<rustc_middle::ty::generics::GenericPredicates>>
    349,788  ???:<rustc_middle::ty::Ty as rustc_serialize::serialize::Encodable<rustc_query_impl::on_disk_cache::CacheEncoder>>::encode
   -349,404  ???:<rustc_typeck::check::method::confirm::ConfirmContext>::confirm
    335,011  ???:<rustc_mir_transform::check_unsafety::UnsafetyChecker as rustc_middle::mir::visit::Visitor>::visit_operand
    334,912  ???:<rustc_trait_selection::traits::select::SelectionContext>::match_impl
   -328,951  ???:rustc_typeck::check::wfcheck::check_where_clauses
    322,563  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
    304,277  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_middle::ty::fold::BoundVarReplacer>
    302,950  ???:<core::result::Result<rustc_middle::ty::Ty, rustc_middle::ty::error::TypeError> as rustc_type_ir::InternIteratorElement<rustc_middle::ty::Ty, rustc_middle::ty::Ty>>::intern_with::<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_middle::ty::relate::super_relate_tys<rustc_infer::infer::equate::Equate>::{closure
   -295,344  ???:<rustc_middle::ty::subst::GenericArg as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
   -284,334  ???:<[rustc_middle::ty::Ty] as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
    277,248  ???:<rustc_borrowck::type_check::TypeChecker>::normalize::<rustc_middle::ty::Ty, rustc_borrowck::type_check::Locations>
    272,782  ???:<rustc_middle::ty::context::TyCtxt>::bound_impl_trait_ref
   -266,390  ???:rustc_borrowck::type_check::liveness::trace::trace
    242,088  ???:<rustc_borrowck::MirBorrowckCtxt>::access_place
   -228,436  ???:<dyn rustc_typeck::astconv::AstConv>::instantiate_poly_trait_ref_inner
    226,112  ???:<rustc_index::vec::IndexVec<rustc_middle::ty::sty::BoundVar, rustc_middle::ty::subst::GenericArg> as rustc_middle::ty::fold::TypeFoldable>::try_fold_with::<rustc_infer::infer::canonical::canonicalizer::Canonicalizer>
    225,968  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig>>, rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig>, rustc_middle::ty::query::copy<rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig>>>
    222,460  ???:<alloc::vec::Vec<rustc_middle::ty::subst::GenericArg> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::ty::subst::GenericArg, core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::infer::canonical::CanonicalVarInfo>>, <rustc_infer::infer::InferCtxt>::instantiate_canonical_vars<<rustc_infer::infer::InferCtxt>::instantiate_canonical_with_fresh_inference_vars<rustc_middle::ty::context::UserType>::{closure
    218,050  ???:<rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::register_bound

Secondary benchmarks

        Benchmark         | Profile | Scenario  | % Change | Significance
                          |         |           |          |    Factor
         keccak          |  check  |   full    |   3.17%  |    19.20x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Check-Full; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Check-Full
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C metadata=7e4bc056058c3e31 -C extra-filename=-7e4bc056058c3e31 --out-dir /tmp/.tmpx8mlp0/target/debug/deps -L dependency=/tmp/.tmpx8mlp0/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C metadata=7e4bc056058c3e31 -C extra-filename=-7e4bc056058c3e31 --out-dir /tmp/.tmpRy3dSM/target/debug/deps -L dependency=/tmp/.tmpRy3dSM/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Check-Full
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
635,149,329  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,029,670  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-46,716,422  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
 16,464,649  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -3,682,514  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  3,563,653  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
  2,386,786  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
 -1,240,896  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
  1,220,664  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
  1,148,671  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
    988,464  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
   -928,168  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -917,532  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
    727,158  ???:_rjem_je_arena_cache_bin_fill_small
   -725,564  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
         keccak          |  check  | incr-full |   2.97%  |    21.92x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Check-IncrFull; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Check-IncrFull
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmpx8mlp0/incremental-state -C metadata=7e4bc056058c3e31 -C extra-filename=-7e4bc056058c3e31 --out-dir /tmp/.tmpx8mlp0/target/debug/deps -L dependency=/tmp/.tmpx8mlp0/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmpRy3dSM/incremental-state -C metadata=7e4bc056058c3e31 -C extra-filename=-7e4bc056058c3e31 --out-dir /tmp/.tmpRy3dSM/target/debug/deps -L dependency=/tmp/.tmpRy3dSM/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Check-IncrFull
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
633,392,507  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,047,954  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-47,538,188  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
 17,286,415  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -3,681,339  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  3,447,006  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
  2,855,520  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
  1,888,428  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,719,512  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
  1,635,644  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
 -1,460,154  ???:<std::thread::local::LocalKey<core::cell::RefCell<std::collections::hash::map::HashMap<(usize, usize, rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>>>::with::<<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable::{closure
 -1,254,426  ???:<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure
 -1,240,896  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
  1,220,664  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
  1,069,368  ???:<rustc_data_structures::intern::Interned<rustc_data_structures::intern::WithStableHash<rustc_middle::ty::TyS>> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
 -1,042,500  ???:<[rustc_middle::ty::Ty] as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
    962,800  ???:<hashbrown::map::HashMap<rustc_query_system::dep_graph::graph::DepNodeIndex, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<(rustc_query_system::dep_graph::graph::DepNodeIndex, ())>>::extend::<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>, <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -930,134  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_query_system::dep_graph::graph::DepNodeIndex, (rustc_query_system::dep_graph::graph::DepNodeIndex, ()), (), <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -928,168  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -917,708  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -867,739  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
   -862,303  ???:<dyn rustc_typeck::astconv::AstConv>::create_substs_for_generic_args::<<rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path::CreateCtorSubstsContext>
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
   -731,457  ???:<rustc_middle::ty::context::TyCtxt>::def_kind::<rustc_span::def_id::LocalDefId>
    666,294  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_sse2_unaligned_erms

--------------------------------------------------------------------------------
The following files chosen for auto-annotation could not be found:
--------------------------------------------------------------------------------
  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
         keccak          |  debug  |   full    |   2.79%  |     6.44x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Debug-Full; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Debug-Full
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=73cc589af5dfbcfd -C extra-filename=-73cc589af5dfbcfd --out-dir /tmp/.tmpbkPbOF/target/debug/deps -L dependency=/tmp/.tmpbkPbOF/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=73cc589af5dfbcfd -C extra-filename=-73cc589af5dfbcfd --out-dir /tmp/.tmphyXBnG/target/debug/deps -L dependency=/tmp/.tmphyXBnG/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Debug-Full
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
646,485,763  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,029,670  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-61,337,466  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 61,317,230  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
-46,716,422  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-30,661,988  ???:<rustc_mir_dataflow::impls::MaybeUninitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 30,651,869  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeUninitializedPlaces>>::new_gen_kill
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
 16,464,649  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  8,078,658  ???:(anonymous namespace)::X86FastISel::X86SelectAddress(llvm::Value const*, llvm::X86AddressMode&)
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
  5,115,522  ???:<rustc_mir_transform::cleanup_post_borrowck::CleanupNonCodegenStatements as rustc_middle::mir::MirPass>::run_pass
 -4,854,706  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  4,297,900  ???:<rustc_mir_transform::cleanup_post_borrowck::DeleteNonCodegenStatements as rustc_middle::mir::visit::MutVisitor>::visit_operand
  4,167,915  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
 -3,682,514  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  3,563,636  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
  3,391,674  ???:(anonymous namespace)::Verifier::visitMDNode(llvm::MDNode const&, (anonymous namespace)::Verifier::AreDebugLocsAllowed)
  2,386,786  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
 -2,170,043  ???:llvm::BlockFrequencyInfo::calculate(llvm::Function const&, llvm::BranchProbabilityInfo const&, llvm::LoopInfo const&)
  2,150,137  ???:llvm::BlockFrequencyAnalysis::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
 -2,080,669  ???:<alloc::vec::Vec<rustc_middle::mir::BasicBlockData> as core::clone::Clone>::clone
 -1,699,730  ???:_rjem_je_eset_fit
  1,683,756  ???:<alloc::borrow::Cow<[rustc_middle::mir::syntax::ProjectionElem<rustc_middle::mir::Local, rustc_middle::ty::Ty>]> as core::ops::deref::Deref>::deref
 -1,453,334  ???:llvm::InlineFunction(llvm::CallBase&, llvm::InlineFunctionInfo&, llvm::AAResults*, bool, llvm::Function*)
 -1,358,208  ???:llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, false> >::runSemiNCA(llvm::DominatorTreeBase<llvm::BasicBlock, false>&, unsigned int)
  1,148,671  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
 -1,054,782  ???:(anonymous namespace)::Verifier::verify(llvm::Function const&) [clone 
    988,464  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
   -928,168  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -917,532  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -906,076  ???:(anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&)
    906,076  ???:(anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&) [clone 
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
   -725,564  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
   -721,661  ???:llvm::ValueHandleBase::AddToUseList()
   -718,204  ???:(anonymous namespace)::X86AsmBackend::finishLayout(llvm::MCAssembler const&, llvm::MCAsmLayout&) const [clone 
         keccak          |   opt   |   full    |   2.62%  |    12.82x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Opt-Full; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Opt-Full
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=6dd6b1ecde2b699d -C extra-filename=-6dd6b1ecde2b699d --out-dir /tmp/.tmpHiOZaw/target/release/deps -L dependency=/tmp/.tmpHiOZaw/target/release/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=6dd6b1ecde2b699d -C extra-filename=-6dd6b1ecde2b699d --out-dir /tmp/.tmpoJHgmW/target/release/deps -L dependency=/tmp/.tmpoJHgmW/target/release/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Opt-Full
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
649,844,265  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,029,670  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-46,716,422  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
-38,602,800  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 38,582,564  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
-19,294,655  ???:<rustc_mir_dataflow::impls::MaybeUninitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 19,284,536  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeUninitializedPlaces>>::new_gen_kill
 16,464,649  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -6,662,864  ???:llvm::ConstantExpr::getBinOpIdentity(unsigned int, llvm::Type*, bool)
  5,649,587  ???:llvm::Constant::getNullValue(llvm::Type*)
  4,555,542  ???:<rustc_mir_transform::cleanup_post_borrowck::CleanupNonCodegenStatements as rustc_middle::mir::MirPass>::run_pass
 -4,297,786  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  3,803,140  ???:<rustc_mir_transform::cleanup_post_borrowck::DeleteNonCodegenStatements as rustc_middle::mir::visit::MutVisitor>::visit_operand
  3,770,115  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
  3,664,668  ???:bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::specificval_ty, llvm::PatternMatch::specificval_ty, 29u, true>::match<llvm::Value>(llvm::Value*)
 -3,471,374  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  3,170,990  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
  2,386,786  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
 -2,235,009  ???:<alloc::vec::Vec<rustc_middle::mir::BasicBlockData> as core::clone::Clone>::clone
  2,094,096  ???:SimplifyXorInst(llvm::Value*, llvm::Value*, llvm::SimplifyQuery const&, unsigned int) [clone 
  1,485,756  ???:<alloc::borrow::Cow<[rustc_middle::mir::syntax::ProjectionElem<rustc_middle::mir::Local, rustc_middle::ty::Ty>]> as core::ops::deref::Deref>::deref
  1,148,671  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
  1,041,859  ???:llvm::InstCombinerImpl::SimplifyUsingDistributiveLaws(llvm::BinaryOperator&)
 -1,016,958  ???:simplifyFunctionCFG(llvm::Function&, llvm::TargetTransformInfo const&, llvm::DominatorTree*, llvm::SimplifyCFGOptions const&) [clone 
 -1,015,619  ???:_rjem_je_eset_fit
    988,464  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
    956,972  ???:llvm::SimplifyCFGPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
   -917,532  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -825,981  ???:llvm::FoldingSet<llvm::SDNode>::NodeEquals(llvm::FoldingSetBase const*, llvm::FoldingSetBase::Node*, llvm::FoldingSetNodeID const&, unsigned int, llvm::FoldingSetNodeID&)
   -811,048  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
    749,782  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_sse2_unaligned_erms
   -725,564  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
   -717,831  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::liveness::MaybeTransitiveLiveLocals>>::iterate_to_fixpoint
    708,614  ???:llvm::ConstantInt::get(llvm::LLVMContext&, llvm::APInt const&)
    683,229  ???:llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDNodeFlags)

--------------------------------------------------------------------------------
The following files chosen for auto-annotation could not be found:
--------------------------------------------------------------------------------
  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
         keccak          |  debug  | incr-full |   2.53%  |     6.41x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Debug-IncrFull; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Debug-IncrFull
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmpbkPbOF/incremental-state -C metadata=73cc589af5dfbcfd -C extra-filename=-73cc589af5dfbcfd --out-dir /tmp/.tmpbkPbOF/target/debug/deps -L dependency=/tmp/.tmpbkPbOF/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C incremental=/tmp/.tmphyXBnG/incremental-state -C metadata=73cc589af5dfbcfd -C extra-filename=-73cc589af5dfbcfd --out-dir /tmp/.tmphyXBnG/target/debug/deps -L dependency=/tmp/.tmphyXBnG/target/debug/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Debug-IncrFull
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
639,884,729  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,044,004  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-61,337,466  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 61,317,230  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
-47,538,188  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-30,661,988  ???:<rustc_mir_dataflow::impls::MaybeUninitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 30,651,869  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeUninitializedPlaces>>::new_gen_kill
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
 17,286,415  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
  5,115,522  ???:<rustc_mir_transform::cleanup_post_borrowck::CleanupNonCodegenStatements as rustc_middle::mir::MirPass>::run_pass
 -4,854,706  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  4,297,900  ???:<rustc_mir_transform::cleanup_post_borrowck::DeleteNonCodegenStatements as rustc_middle::mir::visit::MutVisitor>::visit_operand
  4,167,915  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
 -3,681,339  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  3,441,035  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
  2,855,520  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
 -2,207,590  ???:llvm::BlockFrequencyInfo::calculate(llvm::Function const&, llvm::BranchProbabilityInfo const&, llvm::LoopInfo const&)
  2,185,739  ???:llvm::BlockFrequencyAnalysis::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
 -2,080,669  ???:<alloc::vec::Vec<rustc_middle::mir::BasicBlockData> as core::clone::Clone>::clone
 -1,948,004  ???:llvm::InlineFunction(llvm::CallBase&, llvm::InlineFunctionInfo&, llvm::AAResults*, bool, llvm::Function*)
  1,887,059  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,822,550  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
  1,683,756  ???:<alloc::borrow::Cow<[rustc_middle::mir::syntax::ProjectionElem<rustc_middle::mir::Local, rustc_middle::ty::Ty>]> as core::ops::deref::Deref>::deref
  1,658,313  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
 -1,651,692  ???:llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, false> >::runSemiNCA(llvm::DominatorTreeBase<llvm::BasicBlock, false>&, unsigned int)
 -1,462,677  ???:<std::thread::local::LocalKey<core::cell::RefCell<std::collections::hash::map::HashMap<(usize, usize, rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>>>::with::<<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable::{closure
 -1,107,051  ???:(anonymous namespace)::X86FastISel::X86SelectAddress(llvm::Value const*, llvm::X86AddressMode&)
  1,069,538  ???:<rustc_data_structures::intern::Interned<rustc_data_structures::intern::WithStableHash<rustc_middle::ty::TyS>> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
 -1,042,500  ???:<[rustc_middle::ty::Ty] as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
 -1,013,722  ???:(anonymous namespace)::Verifier::visitMDNode(llvm::MDNode const&, (anonymous namespace)::Verifier::AreDebugLocsAllowed)
  1,004,355  ???:<rustc_middle::ty::Ty as rustc_serialize::serialize::Encodable<rustc_query_impl::on_disk_cache::CacheEncoder>>::encode
    962,800  ???:<hashbrown::map::HashMap<rustc_query_system::dep_graph::graph::DepNodeIndex, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<(rustc_query_system::dep_graph::graph::DepNodeIndex, ())>>::extend::<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>, <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -930,134  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_query_system::dep_graph::graph::DepNodeIndex, (rustc_query_system::dep_graph::graph::DepNodeIndex, ()), (), <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -928,168  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -917,444  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -906,076  ???:(anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&)
    906,076  ???:(anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&) [clone 
   -867,739  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
   -862,303  ???:<dyn rustc_typeck::astconv::AstConv>::create_substs_for_generic_args::<<rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path::CreateCtorSubstsContext>
   -832,446  ???:(anonymous namespace)::Verifier::verify(llvm::Function const&) [clone 
    820,355  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_sse2_unaligned_erms
    817,382  ???:llvm::MCAsmLayout::layoutFragment(llvm::MCFragment*)
   -766,391  ???:llvm::FunctionLoweringInfo::set(llvm::Function const&, llvm::MachineFunction&, llvm::SelectionDAG*)
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
   -740,587  ???:(anonymous namespace)::X86AsmBackend::finishLayout(llvm::MCAssembler const&, llvm::MCAsmLayout&) const [clone 
    739,003  ???:llvm::MCAsmLayout::getFragmentOffset(llvm::MCFragment const*) const
   -731,457  ???:<rustc_middle::ty::context::TyCtxt>::def_kind::<rustc_span::def_id::LocalDefId>
    719,800  ???:_rjem_je_eset_fit
   -651,844  ???:llvm::MetadataAsValue::get(llvm::LLVMContext&, llvm::Metadata*)

--------------------------------------------------------------------------------
The following files chosen for auto-annotation could not be found:
--------------------------------------------------------------------------------
  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
         keccak          |   opt   | incr-full |   2.47%  |    16.64x   
--------------------------------------------------------------------------------
Files compared:   results/cgfilt-7425fb293f510a6f138e82a963a3bc599a5b9e1c-keccak-Opt-IncrFull; results/cgfilt-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Opt-IncrFull
Command:          /usr/local/rustup/toolchains/7425fb293f510a6f138e82a963a3bc599a5b9e1c/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C incremental=/tmp/.tmpHiOZaw/incremental-state -C metadata=6dd6b1ecde2b699d -C extra-filename=-6dd6b1ecde2b699d --out-dir /tmp/.tmpHiOZaw/target/release/deps -L dependency=/tmp/.tmpHiOZaw/target/release/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich; /usr/local/rustup/toolchains/72423f087b612b625133cd04348ee1bc3d887e43/bin/rustc --crate-name keccak src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C incremental=/tmp/.tmpoJHgmW/incremental-state -C metadata=6dd6b1ecde2b699d -C extra-filename=-6dd6b1ecde2b699d --out-dir /tmp/.tmpoJHgmW/target/release/deps -L dependency=/tmp/.tmpoJHgmW/target/release/deps -Adeprecated -Aunknown-lints -Zincremental-verify-ich
Data file:        results/cgfilt-diff-7425fb293f510a6f138e82a963a3bc599a5b9e1c-72423f087b612b625133cd04348ee1bc3d887e43-keccak-Opt-IncrFull
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       0.1
Include dirs:     
User annotated:   
Auto-annotation:  on

--------------------------------------------------------------------------------
Ir          
--------------------------------------------------------------------------------
638,398,417  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir           file:function
--------------------------------------------------------------------------------
644,051,890  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
-47,538,188  ???:rustc_trait_selection::traits::project::opt_normalize_projection_type
-38,602,800  ???:<rustc_mir_dataflow::impls::MaybeInitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 38,582,564  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeInitializedPlaces>>::new_gen_kill
 34,318,965  ???:<alloc::vec::drain_filter::DrainFilter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>, rustc_trait_selection::traits::project::opt_normalize_projection_type::{closure
-22,131,465  ???:<alloc::rc::Rc<rustc_middle::traits::ObligationCauseCode> as core::ops::drop::Drop>::drop
-19,294,655  ???:<rustc_mir_dataflow::impls::MaybeUninitializedPlaces as rustc_mir_dataflow::framework::Analysis>::into_engine
 19,284,536  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::MaybeUninitializedPlaces>>::new_gen_kill
 17,286,415  ???:<rustc_infer::infer::InferCtxt>::commit_if_ok::<(), (), rustc_trait_selection::traits::project::assemble_candidates_from_impls::{closure
  6,792,050  ???:core::ptr::drop_in_place::<rustc_middle::traits::ObligationCauseCode>
 -6,662,864  ???:llvm::ConstantExpr::getBinOpIdentity(unsigned int, llvm::Type*, bool)
  5,649,587  ???:llvm::Constant::getNullValue(llvm::Type*)
  4,555,542  ???:<rustc_mir_transform::cleanup_post_borrowck::CleanupNonCodegenStatements as rustc_middle::mir::MirPass>::run_pass
 -4,297,786  ???:<rustc_middle::mir::BasicBlockData>::expand_statements::<<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass::{closure
  3,803,140  ???:<rustc_mir_transform::cleanup_post_borrowck::DeleteNonCodegenStatements as rustc_middle::mir::visit::MutVisitor>::visit_operand
  3,770,115  ???:<rustc_mir_transform::deaggregator::Deaggregator as rustc_middle::mir::MirPass>::run_pass
  3,664,668  ???:bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::specificval_ty, llvm::PatternMatch::specificval_ty, 29u, true>::match<llvm::Value>(llvm::Value*)
  3,514,515  ???:<rustc_middle::ty::context::CtxtInterners>::intern_predicate
 -3,470,199  ???:<rustc_mir_transform::function_item_references::FunctionItemReferences as rustc_mir_transform::pass_manager::MirLint>::run_lint
  2,855,520  ???:rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::ArenaCache<rustc_span::def_id::DefId, rustc_middle::ty::generics::Generics>, &rustc_middle::ty::generics::Generics, rustc_middle::ty::query::copy<&rustc_middle::ty::generics::Generics>>
 -2,235,009  ???:<alloc::vec::Vec<rustc_middle::mir::BasicBlockData> as core::clone::Clone>::clone
  2,094,096  ???:SimplifyXorInst(llvm::Value*, llvm::Value*, llvm::SimplifyQuery const&, unsigned int) [clone 
  1,892,560  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,670,961  ???:<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::compress::<<rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>::{closure
  1,634,894  ???:<rustc_trait_selection::traits::select::SelectionContext>::select
 -1,602,348  ???:(anonymous namespace)::TwoAddressInstructionPass::scanUses(llvm::Register)
  1,485,756  ???:<alloc::borrow::Cow<[rustc_middle::mir::syntax::ProjectionElem<rustc_middle::mir::Local, rustc_middle::ty::Ty>]> as core::ops::deref::Deref>::deref
 -1,460,058  ???:<std::thread::local::LocalKey<core::cell::RefCell<std::collections::hash::map::HashMap<(usize, usize, rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>>>::with::<<&rustc_middle::ty::list::List<rustc_middle::ty::Ty> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable::{closure
  1,069,504  ???:<rustc_data_structures::intern::Interned<rustc_data_structures::intern::WithStableHash<rustc_middle::ty::TyS>> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,064,655  ???:<rustc_trait_selection::traits::select::SelectionContext>::rematch_impl
 -1,042,500  ???:<[rustc_middle::ty::Ty] as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
  1,041,859  ???:llvm::InstCombinerImpl::SimplifyUsingDistributiveLaws(llvm::BinaryOperator&)
 -1,039,838  ???:simplifyFunctionCFG(llvm::Function&, llvm::TargetTransformInfo const&, llvm::DominatorTree*, llvm::SimplifyCFGOptions const&) [clone 
  1,004,025  ???:llvm::SimplifyCFGPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
   -963,538  ???:llvm::SCCPInstVisitor::visitBinaryOperator(llvm::Instruction&)
    962,800  ???:<hashbrown::map::HashMap<rustc_query_system::dep_graph::graph::DepNodeIndex, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<(rustc_query_system::dep_graph::graph::DepNodeIndex, ())>>::extend::<core::iter::adapters::map::Map<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>, <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -930,134  ???:<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::map::map_fold<rustc_query_system::dep_graph::graph::DepNodeIndex, (rustc_query_system::dep_graph::graph::DepNodeIndex, ()), (), <hashbrown::set::HashSet<rustc_query_system::dep_graph::graph::DepNodeIndex, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as core::iter::traits::collect::Extend<rustc_query_system::dep_graph::graph::DepNodeIndex>>::extend<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_query_system::dep_graph::graph::DepNodeIndex>>>::{closure
   -917,548  ???:<hashbrown::raw::RawTable<(rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, ())>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, rustc_middle::ty::context::InternedInSet<rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>>, (), core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure
    912,384  ???:<alloc::vec::Vec<ena::unify::VarValue<rustc_type_ir::IntVid>> as core::convert::AsRef<[ena::unify::VarValue<rustc_type_ir::IntVid>]>>::as_ref
   -867,739  ???:<rustc_typeck::check::method::probe::ProbeContext>::assemble_inherent_impl_probe
   -862,303  ???:<dyn rustc_typeck::astconv::AstConv>::create_substs_for_generic_args::<<rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path::CreateCtorSubstsContext>
   -812,463  ???:llvm::FoldingSet<llvm::SDNode>::NodeEquals(llvm::FoldingSetBase const*, llvm::FoldingSetBase::Node*, llvm::FoldingSetNodeID const&, unsigned int, llvm::FoldingSetNodeID&)
   -811,048  ???:<rustc_infer::infer::InferCtxt>::instantiate_nll_query_response_and_region_obligations::<()>
   -768,503  ???:llvm::ReassociatePass::getRank(llvm::Value*)
   -763,501  ???:<rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
   -731,457  ???:<rustc_middle::ty::context::TyCtxt>::def_kind::<rustc_span::def_id::LocalDefId>
   -717,831  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::liveness::MaybeTransitiveLiveLocals>>::iterate_to_fixpoint
    708,614  ???:llvm::ConstantInt::get(llvm::LLVMContext&, llvm::APInt const&)
    704,244  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_sse2_unaligned_erms
    674,000  ???:llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDNodeFlags)

--------------------------------------------------------------------------------
The following files chosen for auto-annotation could not be found:
--------------------------------------------------------------------------------
  ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S

@eggyal
Copy link
Contributor Author

eggyal commented Jul 8, 2022

All I can imagine here is that some Folder that processes obligations (during trait matching) was inlined here into the existing "bespoke" HoleVec, but is not getting inlined into the more generic in-place Vec collection in liballoc? Is PGO applied to try-builds?

@wesleywiser
Copy link
Member

Is PGO applied to try-builds?

It should be since we benchmark try builds on perf.rlo.

@JohnCSimon
Copy link
Member

Ping from triage:
@eggyal What is the status of this PR?

@eggyal
Copy link
Contributor Author

eggyal commented Oct 2, 2022

@JohnCSimon thanks for the ping.

Honestly, I don't understand the perf regression... I wrote the original code without then appreciating there was a simpler/safer API in stdlib, so this PR was intended just to be a simplifying refactor with no change to behaviour. That it has such a marked perf impact is very strange.

If it's unmergeable without the regression being understood/resolved, then I may need some pointers how to proceed? Otherwise I'm happy to close the PR.

@the8472
Copy link
Member

the8472 commented Oct 30, 2022

One difference is that the std version isn't #[inline] while the bespoke version is.

@nnethercote
Copy link
Contributor

Let's try another perf run, because those keccak and cranelift-codegen results could just be noise.

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 10, 2022
@bors
Copy link
Contributor

bors commented Nov 10, 2022

⌛ Trying commit 9208c08 with merge 1b3e7d3fffb286f60775006c81d2c91b2af9cf5d...

@bors
Copy link
Contributor

bors commented Nov 10, 2022

☀️ Try build successful - checks-actions
Build commit: 1b3e7d3fffb286f60775006c81d2c91b2af9cf5d (1b3e7d3fffb286f60775006c81d2c91b2af9cf5d)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1b3e7d3fffb286f60775006c81d2c91b2af9cf5d): comparison URL.

Overall result: ❌ regressions - no action needed

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.3% [1.3%, 1.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.1% [2.1%, 2.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.6%, -2.0%] 2
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-3.0%, -3.0%] 1
All ❌✅ (primary) - - 0

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. perf-regression Performance regression. labels Nov 10, 2022
@nnethercote
Copy link
Contributor

This now looks fine from a performance POV.

@wesleywiser
Copy link
Member

Sorry for the delay @eggyal!

@bors r+

@bors
Copy link
Contributor

bors commented Nov 19, 2022

📌 Commit 9208c08 has been approved by wesleywiser

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 19, 2022
@bors
Copy link
Contributor

bors commented Nov 19, 2022

⌛ Testing commit 9208c08 with merge becc24a...

@bors
Copy link
Contributor

bors commented Nov 19, 2022

☀️ Test successful - checks-actions
Approved by: wesleywiser
Pushing becc24a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 19, 2022
@bors bors merged commit becc24a into rust-lang:master Nov 19, 2022
@rustbot rustbot added this to the 1.67.0 milestone Nov 19, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (becc24a): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.7% [-3.7%, -1.0%] 3
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants