Enable -Zdrop-tracking-mir by default by cjgillot · Pull Request #107421 · rust-lang/rust (original) (raw)

No ^^ I know that, and I read it correctly most of the time.

cachegrind:


--------------------------------------------------------------------------------
Ir        
--------------------------------------------------------------------------------
5,738,802  PROGRAM TOTALS

--------------------------------------------------------------------------------
Ir         file:function
--------------------------------------------------------------------------------
  328,796  ???:rustc_data_structures::graph::dominators::dominators::<rustc_middle::mir::basic_blocks::BasicBlocks>
 -294,357  ???:<rustc_middle::mir::basic_blocks::BasicBlocks>::dominators
  279,186  ???:<rustc_index::bit_set::BitSet<rustc_middle::mir::Local> as core::clone::Clone>::clone_from
  214,074  ???:<rustc_mir_dataflow::framework::GenKillSet<rustc_middle::mir::Local> as rustc_mir_dataflow::framework::GenKill<rustc_middle::mir::Local>>::kill
  198,319  /build/glibc-sMfBJT/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:__memcpy_avx_unaligned_erms
  183,555  ???:<rustc_index::bit_set::BitSet<rustc_middle::mir::Local> as rustc_mir_dataflow::framework::lattice::JoinSemiLattice>::join
  179,652  ???:<rustc_infer::infer::combine::CombineFields>::instantiate
  179,298  ???:<rustc_infer::infer::equate::Equate as rustc_middle::ty::relate::TypeRelation>::regions
  163,674  ???:<alloc::vec::Vec<rustc_mir_dataflow::framework::GenKillSet<rustc_middle::mir::Local>>>::extend_with
 -161,957  ???:<rustc_infer::infer::region_constraints::RegionConstraintCollector>::make_eqregion
  142,882  ???:<rustc_mir_dataflow::impls::storage_liveness::MaybeRequiresStorage as rustc_mir_dataflow::framework::GenKillAnalysis>::terminator_effect
  139,495  ???:<smallvec::SmallVec<[u64; 2]> as core::iter::traits::collect::Extend<u64>>::extend::<core::iter::adapters::cloned::Cloned<core::slice::iter::Iter<u64>>>
  136,604  ???:<core::cell:🔂:OnceCell<alloc::vec::Vec<rustc_middle::mir::BasicBlock>>>::get_or_try_init::<<core::cell:🔂:OnceCell<alloc::vec::Vec<rustc_middle::mir::BasicBlock>>>::get_or_init<<rustc_middle::mir::basic_blocks::BasicBlocks>::reverse_postorder::{closure
  132,566  ???:<rustc_mir_transform::generator::StorageConflictVisitor>::apply_state
 -123,564  ???:<alloc::vec::Vec<rustc_middle::mir::BasicBlock> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::mir::BasicBlock, core::iter::adapters::map::Map<rustc_middle::mir::traversal::Postorder, <rustc_middle::mir::basic_blocks::BasicBlocks>::reverse_postorder::{closure
  118,370  ???:<core::cell:🔂:OnceCell<rustc_index::vec::IndexVec<rustc_middle::mir::BasicBlock, smallvec::SmallVec<[rustc_middle::mir::BasicBlock; 4]>>>>::get_or_try_init::<<core::cell:🔂:OnceCell<rustc_index::vec::IndexVec<rustc_middle::mir::BasicBlock, smallvec::SmallVec<[rustc_middle::mir::BasicBlock; 4]>>>>::get_or_init<<rustc_middle::mir::basic_blocks::BasicBlocks>::predecessors::{closure
  114,764  ???:<rustc_mir_dataflow::framework::engine::Engine<rustc_mir_dataflow::impls::storage_liveness::MaybeRequiresStorage>>::iterate_to_fixpoint
  113,344  ???:<rustc_index::bit_set::BitSet<rustc_middle::mir::Local> as rustc_mir_dataflow::framework::BitSetExt<rustc_middle::mir::Local>>::subtract
 -111,672  ???:<rustc_infer::infer::sub::Sub as rustc_middle::ty::relate::TypeRelation>::tys
 -110,489  ???:<rustc_infer::infer::equate::Equate as rustc_middle::ty::relate::TypeRelation>::tys
  108,745  ???:rustc_middle::mir::traversal::reverse_postorder
  106,722  ???:<rustc_index::bit_set::BitMatrix<rustc_middle::mir::Local, rustc_middle::mir::Local>>::union_row_with
  102,612  ???:<rustc_mir_dataflow::impls::storage_liveness::MoveVisitor<rustc_index::bit_set::BitSet<rustc_middle::mir::Local>> as rustc_middle::mir::visit::Visitor>::visit_place
  101,417  ???:<&rustc_middle::ty::list::List<rustc_middle::ty::generic_args::GenericArg> as rustc_type_ir::fold::TypeFoldable<rustc_middle::ty::context::TyCtxt>>::try_fold_with::<rustc_infer::infer::freshen::TypeFreshener>

lots more small regressions that make up this 5 mil regression