diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-08-26 20:27:06 +0200 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-09-02 19:08:59 +0200 |
| commit | df148e4efb3bfd973d94217e52a01cde76fec09b (patch) | |
| tree | fafad3957b65335487a3f801c566dad176a88bad /compiler/rustc_passes | |
| parent | bd2f08c22fa89dbbcccc56a04231cfb63a80132e (diff) | |
Drop walk_crate_and_attributes.
Diffstat (limited to 'compiler/rustc_passes')
| -rw-r--r-- | compiler/rustc_passes/src/hir_id_validator.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_passes/src/hir_stats.rs | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/compiler/rustc_passes/src/hir_id_validator.rs b/compiler/rustc_passes/src/hir_id_validator.rs index 944a3097a61..18f61c6e1c1 100644 --- a/compiler/rustc_passes/src/hir_id_validator.rs +++ b/compiler/rustc_passes/src/hir_id_validator.rs @@ -11,6 +11,10 @@ use rustc_middle::ty::TyCtxt; pub fn check_crate(tcx: TyCtxt<'_>) { tcx.dep_graph.assert_ignored(); + if tcx.sess.opts.debugging_opts.hir_stats { + crate::hir_stats::print_hir_stats(tcx); + } + let errors = Lock::new(Vec::new()); let hir_map = tcx.hir(); diff --git a/compiler/rustc_passes/src/hir_stats.rs b/compiler/rustc_passes/src/hir_stats.rs index 4868f8b04e9..58693cdda90 100644 --- a/compiler/rustc_passes/src/hir_stats.rs +++ b/compiler/rustc_passes/src/hir_stats.rs @@ -9,6 +9,7 @@ use rustc_hir as hir; use rustc_hir::intravisit as hir_visit; use rustc_hir::HirId; use rustc_middle::hir::map::Map; +use rustc_middle::ty::TyCtxt; use rustc_middle::util::common::to_readable_str; use rustc_span::Span; @@ -25,18 +26,19 @@ struct NodeData { } struct StatCollector<'k> { - krate: Option<&'k hir::Crate<'k>>, + krate: Option<Map<'k>>, data: FxHashMap<&'static str, NodeData>, seen: FxHashSet<Id>, } -pub fn print_hir_stats(krate: &hir::Crate<'_>) { +pub fn print_hir_stats(tcx: TyCtxt<'_>) { let mut collector = StatCollector { - krate: Some(krate), + krate: Some(tcx.hir()), data: FxHashMap::default(), seen: FxHashSet::default(), }; - hir_visit::walk_crate_and_attributes(&mut collector, krate); + tcx.hir().walk_crate(&mut collector); + tcx.hir().walk_attributes(&mut collector); collector.print("HIR STATS"); } |
