Skip to content

Commit de1e5b3

Browse files
committed
Remove INCR const generic from try_execute_query.
As of the previous commit, the `dep_node` argument fully determines if it's a non-incremental or incremental query, so `INCR` is no longer needed.
1 parent b4c5323 commit de1e5b3

1 file changed

Lines changed: 8 additions & 13 deletions

File tree

compiler/rustc_query_impl/src/execution.rs

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -255,14 +255,12 @@ fn wait_for_query<'tcx, C: QueryCache>(
255255

256256
/// Shared main part of both [`execute_query_incr_inner`] and [`execute_query_non_incr_inner`].
257257
#[inline(never)]
258-
fn try_execute_query<'tcx, C: QueryCache, const INCR: bool>(
258+
fn try_execute_query<'tcx, C: QueryCache>(
259259
query: &'tcx QueryVTable<'tcx, C>,
260260
tcx: TyCtxt<'tcx>,
261261
span: Span,
262262
key: C::Key,
263-
// If present, some previous step has already created a `DepNode` for this
264-
// query+key, which we should reuse instead of creating a new one.
265-
dep_node: Option<DepNode>,
263+
dep_node: Option<DepNode>, // `None` for non-incremental, `Some` for incremental
266264
) -> (C::Value, Option<DepNodeIndex>) {
267265
let key_hash = sharded::make_hash(&key);
268266
let mut state_lock = query.state.active.lock_shard_by_hash(key_hash);
@@ -298,8 +296,8 @@ fn try_execute_query<'tcx, C: QueryCache, const INCR: bool>(
298296
let job_guard = ActiveJobGuard { state: &query.state, key, key_hash };
299297

300298
// Delegate to another function to actually execute the query job.
301-
let (value, dep_node_index) = if INCR {
302-
execute_job_incr(query, tcx, key, dep_node.unwrap(), id)
299+
let (value, dep_node_index) = if let Some(dep_node) = dep_node {
300+
execute_job_incr(query, tcx, key, dep_node, id)
303301
} else {
304302
execute_job_non_incr(query, tcx, key, id)
305303
};
@@ -625,7 +623,7 @@ pub(super) fn execute_query_non_incr_inner<'tcx, C: QueryCache>(
625623
span: Span,
626624
key: C::Key,
627625
) -> C::Value {
628-
ensure_sufficient_stack(|| try_execute_query::<C, false>(query, tcx, span, key, None).0)
626+
ensure_sufficient_stack(|| try_execute_query::<C>(query, tcx, span, key, None).0)
629627
}
630628

631629
/// Called by a macro-generated impl of [`QueryVTable::execute_query_fn`],
@@ -649,9 +647,8 @@ pub(super) fn execute_query_incr_inner<'tcx, C: QueryCache>(
649647
return None;
650648
}
651649

652-
let (result, dep_node_index) = ensure_sufficient_stack(|| {
653-
try_execute_query::<C, true>(query, tcx, span, key, Some(dep_node))
654-
});
650+
let (result, dep_node_index) =
651+
ensure_sufficient_stack(|| try_execute_query::<C>(query, tcx, span, key, Some(dep_node)));
655652
if let Some(dep_node_index) = dep_node_index {
656653
tcx.dep_graph.read_index(dep_node_index)
657654
}
@@ -673,7 +670,5 @@ pub(crate) fn force_query<'tcx, C: QueryCache>(
673670

674671
debug_assert!(!query.anon);
675672

676-
ensure_sufficient_stack(|| {
677-
try_execute_query::<C, true>(query, tcx, DUMMY_SP, key, Some(dep_node))
678-
});
673+
ensure_sufficient_stack(|| try_execute_query::<C>(query, tcx, DUMMY_SP, key, Some(dep_node)));
679674
}

0 commit comments

Comments
 (0)