Rollup merge of #133938 - nnethercote:rustc_mir_dataflow-renamings, r=oli-obk
`rustc_mir_dataflow` cleanups, including some renamings Some opinionated commits in this collection, let's see how we go. r? `@cjgillot`
This commit is contained in:
commit
c6ebe6fe3b
23 changed files with 362 additions and 424 deletions
|
@ -878,7 +878,7 @@ struct StorageConflictVisitor<'a, 'tcx> {
|
|||
impl<'a, 'tcx> ResultsVisitor<'a, 'tcx, MaybeRequiresStorage<'a, 'tcx>>
|
||||
for StorageConflictVisitor<'a, 'tcx>
|
||||
{
|
||||
fn visit_statement_before_primary_effect(
|
||||
fn visit_after_early_statement_effect(
|
||||
&mut self,
|
||||
_results: &mut Results<'tcx, MaybeRequiresStorage<'a, 'tcx>>,
|
||||
state: &BitSet<Local>,
|
||||
|
@ -888,7 +888,7 @@ impl<'a, 'tcx> ResultsVisitor<'a, 'tcx, MaybeRequiresStorage<'a, 'tcx>>
|
|||
self.apply_state(state, loc);
|
||||
}
|
||||
|
||||
fn visit_terminator_before_primary_effect(
|
||||
fn visit_after_early_terminator_effect(
|
||||
&mut self,
|
||||
_results: &mut Results<'tcx, MaybeRequiresStorage<'a, 'tcx>>,
|
||||
state: &BitSet<Local>,
|
||||
|
|
|
@ -106,7 +106,7 @@ impl<'tcx> Analysis<'tcx> for ConstAnalysis<'_, 'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
fn apply_statement_effect(
|
||||
fn apply_primary_statement_effect(
|
||||
&mut self,
|
||||
state: &mut Self::Domain,
|
||||
statement: &Statement<'tcx>,
|
||||
|
@ -117,7 +117,7 @@ impl<'tcx> Analysis<'tcx> for ConstAnalysis<'_, 'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
fn apply_terminator_effect<'mir>(
|
||||
fn apply_primary_terminator_effect<'mir>(
|
||||
&mut self,
|
||||
state: &mut Self::Domain,
|
||||
terminator: &'mir Terminator<'tcx>,
|
||||
|
@ -224,7 +224,7 @@ impl<'a, 'tcx> ConstAnalysis<'a, 'tcx> {
|
|||
}
|
||||
|
||||
/// The effect of a successful function call return should not be
|
||||
/// applied here, see [`Analysis::apply_terminator_effect`].
|
||||
/// applied here, see [`Analysis::apply_primary_terminator_effect`].
|
||||
fn handle_terminator<'mir>(
|
||||
&self,
|
||||
terminator: &'mir Terminator<'tcx>,
|
||||
|
@ -954,7 +954,7 @@ fn try_write_constant<'tcx>(
|
|||
|
||||
impl<'mir, 'tcx> ResultsVisitor<'mir, 'tcx, ConstAnalysis<'_, 'tcx>> for Collector<'_, 'tcx> {
|
||||
#[instrument(level = "trace", skip(self, results, statement))]
|
||||
fn visit_statement_before_primary_effect(
|
||||
fn visit_after_early_statement_effect(
|
||||
&mut self,
|
||||
results: &mut Results<'tcx, ConstAnalysis<'_, 'tcx>>,
|
||||
state: &State<FlatSet<Scalar>>,
|
||||
|
@ -976,7 +976,7 @@ impl<'mir, 'tcx> ResultsVisitor<'mir, 'tcx, ConstAnalysis<'_, 'tcx>> for Collect
|
|||
}
|
||||
|
||||
#[instrument(level = "trace", skip(self, results, statement))]
|
||||
fn visit_statement_after_primary_effect(
|
||||
fn visit_after_primary_statement_effect(
|
||||
&mut self,
|
||||
results: &mut Results<'tcx, ConstAnalysis<'_, 'tcx>>,
|
||||
state: &State<FlatSet<Scalar>>,
|
||||
|
@ -1001,7 +1001,7 @@ impl<'mir, 'tcx> ResultsVisitor<'mir, 'tcx, ConstAnalysis<'_, 'tcx>> for Collect
|
|||
}
|
||||
}
|
||||
|
||||
fn visit_terminator_before_primary_effect(
|
||||
fn visit_after_early_terminator_effect(
|
||||
&mut self,
|
||||
results: &mut Results<'tcx, ConstAnalysis<'_, 'tcx>>,
|
||||
state: &State<FlatSet<Scalar>>,
|
||||
|
|
|
@ -127,7 +127,7 @@ impl InitializationData<'_, '_> {
|
|||
self.uninits.seek_before_primary_effect(loc);
|
||||
}
|
||||
|
||||
fn maybe_live_dead(&self, path: MovePathIndex) -> (bool, bool) {
|
||||
fn maybe_init_uninit(&self, path: MovePathIndex) -> (bool, bool) {
|
||||
(self.inits.get().contains(path), self.uninits.get().contains(path))
|
||||
}
|
||||
}
|
||||
|
@ -153,23 +153,23 @@ impl<'a, 'tcx> DropElaborator<'a, 'tcx> for ElaborateDropsCtxt<'a, 'tcx> {
|
|||
|
||||
#[instrument(level = "debug", skip(self), ret)]
|
||||
fn drop_style(&self, path: Self::Path, mode: DropFlagMode) -> DropStyle {
|
||||
let ((maybe_live, maybe_dead), multipart) = match mode {
|
||||
DropFlagMode::Shallow => (self.init_data.maybe_live_dead(path), false),
|
||||
let ((maybe_init, maybe_uninit), multipart) = match mode {
|
||||
DropFlagMode::Shallow => (self.init_data.maybe_init_uninit(path), false),
|
||||
DropFlagMode::Deep => {
|
||||
let mut some_live = false;
|
||||
let mut some_dead = false;
|
||||
let mut some_maybe_init = false;
|
||||
let mut some_maybe_uninit = false;
|
||||
let mut children_count = 0;
|
||||
on_all_children_bits(self.move_data(), path, |child| {
|
||||
let (live, dead) = self.init_data.maybe_live_dead(child);
|
||||
debug!("elaborate_drop: state({:?}) = {:?}", child, (live, dead));
|
||||
some_live |= live;
|
||||
some_dead |= dead;
|
||||
let (maybe_init, maybe_uninit) = self.init_data.maybe_init_uninit(child);
|
||||
debug!("elaborate_drop: state({:?}) = {:?}", child, (maybe_init, maybe_uninit));
|
||||
some_maybe_init |= maybe_init;
|
||||
some_maybe_uninit |= maybe_uninit;
|
||||
children_count += 1;
|
||||
});
|
||||
((some_live, some_dead), children_count != 1)
|
||||
((some_maybe_init, some_maybe_uninit), children_count != 1)
|
||||
}
|
||||
};
|
||||
match (maybe_live, maybe_dead, multipart) {
|
||||
match (maybe_init, maybe_uninit, multipart) {
|
||||
(false, _, _) => DropStyle::Dead,
|
||||
(true, false, _) => DropStyle::Static,
|
||||
(true, true, false) => DropStyle::Conditional,
|
||||
|
@ -283,15 +283,15 @@ impl<'a, 'tcx> ElaborateDropsCtxt<'a, 'tcx> {
|
|||
LookupResult::Exact(path) => {
|
||||
self.init_data.seek_before(self.body.terminator_loc(bb));
|
||||
on_all_children_bits(self.move_data(), path, |child| {
|
||||
let (maybe_live, maybe_dead) = self.init_data.maybe_live_dead(child);
|
||||
let (maybe_init, maybe_uninit) = self.init_data.maybe_init_uninit(child);
|
||||
debug!(
|
||||
"collect_drop_flags: collecting {:?} from {:?}@{:?} - {:?}",
|
||||
child,
|
||||
place,
|
||||
path,
|
||||
(maybe_live, maybe_dead)
|
||||
(maybe_init, maybe_uninit)
|
||||
);
|
||||
if maybe_live && maybe_dead {
|
||||
if maybe_init && maybe_uninit {
|
||||
self.create_drop_flag(child, terminator.source_info.span)
|
||||
}
|
||||
});
|
||||
|
@ -303,8 +303,8 @@ impl<'a, 'tcx> ElaborateDropsCtxt<'a, 'tcx> {
|
|||
}
|
||||
|
||||
self.init_data.seek_before(self.body.terminator_loc(bb));
|
||||
let (_maybe_live, maybe_dead) = self.init_data.maybe_live_dead(parent);
|
||||
if maybe_dead {
|
||||
let (_maybe_init, maybe_uninit) = self.init_data.maybe_init_uninit(parent);
|
||||
if maybe_uninit {
|
||||
self.tcx.dcx().span_delayed_bug(
|
||||
terminator.source_info.span,
|
||||
format!(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue