Remove dead load_cached code in rustc_query

This commit is contained in:
Joshua Nelson 2022-09-01 21:54:06 -05:00
parent 8da754ef00
commit 112419c9f0

View File

@ -91,9 +91,6 @@ struct QueryModifiers {
/// Cache the query to disk if the `Block` returns true. /// Cache the query to disk if the `Block` returns true.
cache: Option<(Option<Pat>, Block)>, cache: Option<(Option<Pat>, Block)>,
/// Custom code to load the query from disk.
load_cached: Option<(Ident, Ident, Block)>,
/// A cycle error for this query aborting the compilation with a fatal error. /// A cycle error for this query aborting the compilation with a fatal error.
fatal_cycle: Option<Ident>, fatal_cycle: Option<Ident>,
@ -120,7 +117,6 @@ struct QueryModifiers {
} }
fn parse_query_modifiers(input: ParseStream<'_>) -> Result<QueryModifiers> { fn parse_query_modifiers(input: ParseStream<'_>) -> Result<QueryModifiers> {
let mut load_cached = None;
let mut arena_cache = None; let mut arena_cache = None;
let mut cache = None; let mut cache = None;
let mut desc = None; let mut desc = None;
@ -173,16 +169,6 @@ fn parse_query_modifiers(input: ParseStream<'_>) -> Result<QueryModifiers> {
}; };
let block = input.parse()?; let block = input.parse()?;
try_insert!(cache = (args, block)); try_insert!(cache = (args, block));
} else if modifier == "load_cached" {
// Parse a load_cached modifier like:
// `load_cached(tcx, id) { tcx.on_disk_cache.try_load_query_result(tcx, id) }`
let args;
parenthesized!(args in input);
let tcx = args.parse()?;
args.parse::<Token![,]>()?;
let id = args.parse()?;
let block = input.parse()?;
try_insert!(load_cached = (tcx, id, block));
} else if modifier == "arena_cache" { } else if modifier == "arena_cache" {
try_insert!(arena_cache = modifier); try_insert!(arena_cache = modifier);
} else if modifier == "fatal_cycle" { } else if modifier == "fatal_cycle" {
@ -209,7 +195,6 @@ fn parse_query_modifiers(input: ParseStream<'_>) -> Result<QueryModifiers> {
return Err(input.error("no description provided")); return Err(input.error("no description provided"));
}; };
Ok(QueryModifiers { Ok(QueryModifiers {
load_cached,
arena_cache, arena_cache,
cache, cache,
desc, desc,
@ -259,20 +244,6 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
// Find out if we should cache the query on disk // Find out if we should cache the query on disk
let cache = if let Some((args, expr)) = modifiers.cache.as_ref() { let cache = if let Some((args, expr)) = modifiers.cache.as_ref() {
let try_load_from_disk = if let Some((tcx, id, block)) = modifiers.load_cached.as_ref() {
// Use custom code to load the query from disk
quote! {
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
= Some(|#tcx, #id| { #block });
}
} else {
// Use the default code to load the query from disk
quote! {
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
= Some(|tcx, id| tcx.on_disk_cache().as_ref()?.try_load_query_result(*tcx, id));
}
};
let tcx = args.as_ref().map(|t| quote! { #t }).unwrap_or_else(|| quote! { _ }); let tcx = args.as_ref().map(|t| quote! { #t }).unwrap_or_else(|| quote! { _ });
// expr is a `Block`, meaning that `{ #expr }` gets expanded // expr is a `Block`, meaning that `{ #expr }` gets expanded
// to `{ { stmts... } }`, which triggers the `unused_braces` lint. // to `{ { stmts... } }`, which triggers the `unused_braces` lint.
@ -283,12 +254,10 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
#expr #expr
} }
#try_load_from_disk const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
= Some(|tcx, id| tcx.on_disk_cache().as_ref()?.try_load_query_result(*tcx, id));
} }
} else { } else {
if modifiers.load_cached.is_some() {
panic!("load_cached modifier on query `{}` without a cache modifier", name);
}
quote! { quote! {
#[inline] #[inline]
fn cache_on_disk(_: TyCtxt<'tcx>, _: &Self::Key) -> bool { fn cache_on_disk(_: TyCtxt<'tcx>, _: &Self::Key) -> bool {