Skip to content

Commit 41580db

Browse files
committed
Put more things into mod query_impl.
`define_queries!` currently outputs some things (including one `mod $name` per query) into a module `query_impl`, and some things into the crate root. This commit moves the latter things into `query_impl`. This is (a) nicer, and (b) more closely matches what `define_callbacks!` does.
1 parent 970a1ab commit 41580db

2 files changed

Lines changed: 18 additions & 14 deletions

File tree

compiler/rustc_query_impl/src/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub use crate::dep_kind_vtables::make_dep_kind_vtables;
2121
use crate::from_cycle_error::FromCycleError;
2222
pub use crate::job::{QueryJobMap, break_query_cycles, print_query_stack};
2323
use crate::profiling_support::QueryKeyStringCache;
24+
pub use crate::query_impl::collect_active_jobs_from_all_queries;
2425

2526
#[macro_use]
2627
mod plumbing;
@@ -54,7 +55,7 @@ pub fn query_system<'tcx>(
5455
) -> QuerySystem<'tcx> {
5556
QuerySystem {
5657
arenas: Default::default(),
57-
query_vtables: make_query_vtables(incremental),
58+
query_vtables: query_impl::make_query_vtables(incremental),
5859
on_disk_cache,
5960
local_providers,
6061
extern_providers,
@@ -65,7 +66,7 @@ pub fn query_system<'tcx>(
6566
rustc_middle::rustc_with_all_queries! { define_queries! }
6667

6768
pub fn provide(providers: &mut rustc_middle::util::Providers) {
68-
providers.hooks.alloc_self_profile_query_strings = alloc_self_profile_query_strings;
69-
providers.hooks.query_key_hash_verify_all = query_key_hash_verify_all;
70-
providers.hooks.encode_all_query_results = encode_all_query_results;
69+
providers.hooks.alloc_self_profile_query_strings = query_impl::alloc_self_profile_query_strings;
70+
providers.hooks.query_key_hash_verify_all = query_impl::query_key_hash_verify_all;
71+
providers.hooks.encode_all_query_results = query_impl::encode_all_query_results;
7172
}

compiler/rustc_query_impl/src/plumbing.rs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ macro_rules! define_queries {
330330
non_queries { $($_:tt)* }
331331
) => {
332332
pub(crate) mod query_impl { $(pub(crate) mod $name {
333-
use super::super::*;
333+
use super::*;
334334
use rustc_middle::query::erase::{self, Erased};
335335

336336
// It seems to be important that every query has its own monomorphic
@@ -341,8 +341,9 @@ macro_rules! define_queries {
341341
pub(crate) mod execute_query_incr {
342342
use super::*;
343343

344-
// Adding `__rust_end_short_backtrace` marker to backtraces so that we emit the frames
345-
// when `RUST_BACKTRACE=1`, add a new mod with `$name` here is to allow duplicate naming
344+
// Adding `__rust_end_short_backtrace` marker to backtraces so that we emit the
345+
// frames when `RUST_BACKTRACE=1`, add a new mod with `$name` here is to allow
346+
// duplicate naming.
346347
#[inline(never)]
347348
pub(crate) fn __rust_end_short_backtrace<'tcx>(
348349
tcx: TyCtxt<'tcx>,
@@ -508,14 +509,16 @@ macro_rules! define_queries {
508509
&tcx.query_system.query_vtables.$name
509510
}
510511
}
511-
})*}
512+
})*
512513

513-
pub fn make_query_vtables<'tcx>(incremental: bool)
514+
use super::*;
515+
516+
pub(crate) fn make_query_vtables<'tcx>(incremental: bool)
514517
-> rustc_middle::queries::QueryVTables<'tcx>
515518
{
516519
rustc_middle::queries::QueryVTables {
517520
$(
518-
$name: query_impl::$name::make_query_vtable(incremental),
521+
$name: $name::make_query_vtable(incremental),
519522
)*
520523
}
521524
}
@@ -559,7 +562,7 @@ macro_rules! define_queries {
559562
/// If we are recording only summary data, the ids will point to
560563
/// just the query names. If we are recording query keys too, we
561564
/// allocate the corresponding strings here.
562-
pub fn alloc_self_profile_query_strings(tcx: TyCtxt<'_>) {
565+
pub(crate) fn alloc_self_profile_query_strings(tcx: TyCtxt<'_>) {
563566
if !tcx.prof.enabled() {
564567
return;
565568
}
@@ -580,7 +583,7 @@ macro_rules! define_queries {
580583
tcx.sess.prof.store_query_cache_hits();
581584
}
582585

583-
fn encode_all_query_results<'tcx>(
586+
pub(crate) fn encode_all_query_results<'tcx>(
584587
tcx: TyCtxt<'tcx>,
585588
encoder: &mut CacheEncoder<'_, 'tcx>,
586589
query_result_index: &mut EncodedDepNodeIndex,
@@ -598,7 +601,7 @@ macro_rules! define_queries {
598601
)*
599602
}
600603

601-
pub fn query_key_hash_verify_all<'tcx>(tcx: TyCtxt<'tcx>) {
604+
pub(crate) fn query_key_hash_verify_all<'tcx>(tcx: TyCtxt<'tcx>) {
602605
if tcx.sess.opts.unstable_opts.incremental_verify_ich || cfg!(debug_assertions) {
603606
tcx.sess.time("query_key_hash_verify_all", || {
604607
$(
@@ -610,5 +613,5 @@ macro_rules! define_queries {
610613
})
611614
}
612615
}
613-
}
616+
}}
614617
}

0 commit comments

Comments
 (0)