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 super::{Analysis, Direction, Effect, EffectIndex, Results};
use crate::framework::BitSetExt;
/// 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)]
struct CursorPosition {
block: BasicBlock,

View File

@ -364,7 +364,7 @@ where
fn visit_local(&mut self, local: Local, context: PlaceContext, loc: Location) {
if PlaceContext::NonMutatingUse(NonMutatingUseContext::Move) == context {
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);
}
}

View File

@ -133,7 +133,7 @@ impl InitializationData<'_, '_> {
}
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 {
// This is a proper dereference. We can only allow it if `target` is live.
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
}
};

View File

@ -213,7 +213,7 @@ impl<'b, 'tcx> PossibleBorrowerMap<'b, 'tcx> {
self.bitset.0.clear();
let maybe_live = &mut self.maybe_live;
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);
}
} 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 {
self.maybe_live.seek_after_primary_effect(at);
self.maybe_live.contains(local)
self.maybe_live.get().contains(local)
}
}