Remove ResultsCursor::contains.

It's hardly worth it, and it needs to be removed so that
`GenKillAnalysis` can be removed.
This commit is contained in:
Nicholas Nethercote 2024-10-10 11:21:16 +11:00
parent 5ceb623a4a
commit 874b03ec28
5 changed files with 5 additions and 16 deletions

View File

@ -7,7 +7,6 @@ use rustc_index::bit_set::BitSet;
use rustc_middle::mir::{self, BasicBlock, Location}; use rustc_middle::mir::{self, BasicBlock, Location};
use super::{Analysis, Direction, Effect, EffectIndex, Results}; use super::{Analysis, Direction, Effect, EffectIndex, Results};
use crate::framework::BitSetExt;
/// Allows random access inspection of the results of a dataflow analysis. /// Allows random access inspection of the results of a dataflow analysis.
/// ///
@ -221,16 +220,6 @@ where
} }
} }
impl<'mir, 'tcx, A> ResultsCursor<'mir, 'tcx, A>
where
A: crate::GenKillAnalysis<'tcx>,
A::Domain: BitSetExt<A::Idx>,
{
pub fn contains(&self, elem: A::Idx) -> bool {
self.get().contains(elem)
}
}
#[derive(Clone, Copy, Debug)] #[derive(Clone, Copy, Debug)]
struct CursorPosition { struct CursorPosition {
block: BasicBlock, block: BasicBlock,

View File

@ -364,7 +364,7 @@ where
fn visit_local(&mut self, local: Local, context: PlaceContext, loc: Location) { fn visit_local(&mut self, local: Local, context: PlaceContext, loc: Location) {
if PlaceContext::NonMutatingUse(NonMutatingUseContext::Move) == context { if PlaceContext::NonMutatingUse(NonMutatingUseContext::Move) == context {
self.borrowed_locals.seek_before_primary_effect(loc); self.borrowed_locals.seek_before_primary_effect(loc);
if !self.borrowed_locals.contains(local) { if !self.borrowed_locals.get().contains(local) {
self.trans.kill(local); self.trans.kill(local);
} }
} }

View File

@ -133,7 +133,7 @@ impl InitializationData<'_, '_> {
} }
fn maybe_live_dead(&self, path: MovePathIndex) -> (bool, bool) { fn maybe_live_dead(&self, path: MovePathIndex) -> (bool, bool) {
(self.inits.contains(path), self.uninits.contains(path)) (self.inits.get().contains(path), self.uninits.get().contains(path))
} }
} }

View File

@ -179,7 +179,7 @@ fn compute_replacement<'tcx>(
} else { } else {
// This is a proper dereference. We can only allow it if `target` is live. // This is a proper dereference. We can only allow it if `target` is live.
maybe_dead.seek_after_primary_effect(loc); maybe_dead.seek_after_primary_effect(loc);
let maybe_dead = maybe_dead.contains(target.local); let maybe_dead = maybe_dead.get().contains(target.local);
!maybe_dead !maybe_dead
} }
}; };

View File

@ -213,7 +213,7 @@ impl<'b, 'tcx> PossibleBorrowerMap<'b, 'tcx> {
self.bitset.0.clear(); self.bitset.0.clear();
let maybe_live = &mut self.maybe_live; let maybe_live = &mut self.maybe_live;
if let Some(bitset) = self.map.get(&borrowed) { if let Some(bitset) = self.map.get(&borrowed) {
for b in bitset.iter().filter(move |b| maybe_live.contains(*b)) { for b in bitset.iter().filter(move |b| maybe_live.get().contains(*b)) {
self.bitset.0.insert(b); self.bitset.0.insert(b);
} }
} else { } else {
@ -238,6 +238,6 @@ impl<'b, 'tcx> PossibleBorrowerMap<'b, 'tcx> {
pub fn local_is_alive_at(&mut self, local: mir::Local, at: mir::Location) -> bool { pub fn local_is_alive_at(&mut self, local: mir::Local, at: mir::Location) -> bool {
self.maybe_live.seek_after_primary_effect(at); self.maybe_live.seek_after_primary_effect(at);
self.maybe_live.contains(local) self.maybe_live.get().contains(local)
} }
} }