Address review comments

This commit is contained in:
Matthew Jasper 2020-05-08 20:00:32 +01:00 committed by Aaron Hill
parent 1e71862046
commit 8902ce5d84
No known key found for this signature in database
GPG Key ID: B4087E510E98B164
2 changed files with 11 additions and 7 deletions

View File

@ -362,12 +362,16 @@ impl<'b, 'a, 'tcx> Gatherer<'b, 'a, 'tcx> {
fn gather_terminator(&mut self, term: &Terminator<'tcx>) {
match term.kind {
TerminatorKind::Goto { target: _ }
| TerminatorKind::FalseEdges { .. }
| TerminatorKind::FalseUnwind { .. }
// In some sense returning moves the return place into the current
// call's destination, however, since there are no statements after
// this that could possibly access the return place, this doesn't
// need recording.
| TerminatorKind::Return
| TerminatorKind::Resume
| TerminatorKind::Abort
| TerminatorKind::GeneratorDrop
| TerminatorKind::FalseEdge { .. }
| TerminatorKind::FalseUnwind { .. }
| TerminatorKind::Unreachable => {}
TerminatorKind::Assert { ref cond, .. } => {

View File

@ -69,7 +69,7 @@ scheduled in a [DropTree]. Later, before `in_breakable_scope` exits, the drops
will be added to the CFG.
Panics are handled in a similar fashion, except that the drops are added to the
mir once the rest of the function has finished being lowered. If a terminator
MIR once the rest of the function has finished being lowered. If a terminator
can panic, call `diverge_from(block)` with the block containing the terminator
`block`.
@ -285,8 +285,8 @@ impl DropTree {
blocks: &mut IndexVec<DropIdx, Option<BasicBlock>>,
) {
// StorageDead statements can share blocks with each other and also with
// a Drop terminator. We iterate through the blocks to find which blocks
// need
// a Drop terminator. We iterate through the drops to find which drops
// need their own block.
#[derive(Clone, Copy)]
enum Block {
// This drop is unreachable
@ -295,7 +295,7 @@ impl DropTree {
// specified index.
Shares(DropIdx),
// This drop has more than one way of being reached, or it is
// branched to from outside the tree, or it's predecessor is a
// branched to from outside the tree, or its predecessor is a
// `Value` drop.
Own,
}
@ -308,7 +308,7 @@ impl DropTree {
needs_block[ROOT_NODE] = Block::Own;
}
// Sort so that we only need to check the last
// Sort so that we only need to check the last value.
let entry_points = &mut self.entry_points;
entry_points.sort();