Tweak GenKillAnalysis method arguments.

`GenKillAnalysis` has very similar methods to `Analysis`, but the first
two have a notable difference: the second argument is `&mut impl
GenKill<Self::Idx>` instead of `&mut Self::Domain`. But thanks to the
previous commit, this difference is no longer necessary.
This commit is contained in:
Nicholas Nethercote 2024-10-10 06:46:08 +11:00
parent e0b83c34c3
commit 13968b4a70
6 changed files with 16 additions and 32 deletions

View File

@ -518,7 +518,7 @@ fn domain_size(&self, _: &mir::Body<'tcx>) -> usize {
fn before_statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
_statement: &mir::Statement<'tcx>,
location: Location,
) {
@ -527,7 +527,7 @@ fn before_statement_effect(
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
stmt: &mir::Statement<'tcx>,
location: Location,
) {

View File

@ -260,19 +260,18 @@ pub trait GenKillAnalysis<'tcx>: Analysis<'tcx> {
fn domain_size(&self, body: &mir::Body<'tcx>) -> usize;
/// See `Analysis::apply_statement_effect`. Note how the second arg differs.
/// See `Analysis::apply_statement_effect`.
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
statement: &mir::Statement<'tcx>,
location: Location,
);
/// See `Analysis::apply_before_statement_effect`. Note how the second arg
/// differs.
/// See `Analysis::apply_before_statement_effect`.
fn before_statement_effect(
&mut self,
_trans: &mut impl GenKill<Self::Idx>,
_trans: &mut Self::Domain,
_statement: &mir::Statement<'tcx>,
_location: Location,
) {

View File

@ -43,7 +43,7 @@ fn domain_size(&self, body: &Body<'tcx>) -> usize {
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
statement: &Statement<'tcx>,
location: Location,
) {

View File

@ -338,7 +338,7 @@ fn domain_size(&self, _: &Body<'tcx>) -> usize {
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
statement: &mir::Statement<'tcx>,
location: Location,
) {
@ -475,7 +475,7 @@ fn domain_size(&self, _: &Body<'tcx>) -> usize {
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
_statement: &mir::Statement<'tcx>,
location: Location,
) {
@ -602,7 +602,7 @@ fn domain_size(&self, _: &Body<'tcx>) -> usize {
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
_statement: &mir::Statement<'tcx>,
location: Location,
) {
@ -672,7 +672,7 @@ fn domain_size(&self, _: &Body<'tcx>) -> usize {
#[instrument(skip(self, trans), level = "debug")]
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
stmt: &mir::Statement<'tcx>,
location: Location,
) {

View File

@ -50,7 +50,7 @@ fn domain_size(&self, body: &mir::Body<'tcx>) -> usize {
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
statement: &mir::Statement<'tcx>,
location: Location,
) {

View File

@ -46,12 +46,7 @@ fn domain_size(&self, body: &Body<'tcx>) -> usize {
body.local_decls.len()
}
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
stmt: &Statement<'tcx>,
_: Location,
) {
fn statement_effect(&mut self, trans: &mut Self::Domain, stmt: &Statement<'tcx>, _: Location) {
match stmt.kind {
StatementKind::StorageLive(l) => trans.gen_(l),
StatementKind::StorageDead(l) => trans.kill(l),
@ -117,12 +112,7 @@ fn domain_size(&self, body: &Body<'tcx>) -> usize {
body.local_decls.len()
}
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
stmt: &Statement<'tcx>,
_: Location,
) {
fn statement_effect(&mut self, trans: &mut Self::Domain, stmt: &Statement<'tcx>, _: Location) {
match stmt.kind {
StatementKind::StorageLive(l) => trans.kill(l),
StatementKind::StorageDead(l) => trans.gen_(l),
@ -192,7 +182,7 @@ fn domain_size(&self, body: &Body<'tcx>) -> usize {
fn before_statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
trans: &mut Self::Domain,
stmt: &Statement<'tcx>,
loc: Location,
) {
@ -223,12 +213,7 @@ fn before_statement_effect(
}
}
fn statement_effect(
&mut self,
trans: &mut impl GenKill<Self::Idx>,
_: &Statement<'tcx>,
loc: Location,
) {
fn statement_effect(&mut self, trans: &mut Self::Domain, _: &Statement<'tcx>, loc: Location) {
// If we move from a place then it only stops needing storage *after*
// that statement.
self.check_for_move(trans, loc);