Skip to content

Commit

Permalink
Recognize discriminant reads as no-ops in RemoveNoopLandingPads
Browse files Browse the repository at this point in the history
The cleanup blocks often contain read of discriminants. Teach
RemoveNoopLandingPads to recognize them as no-ops to remove
additional no-op landing pads.
  • Loading branch information
tmiasko committed Oct 10, 2020
1 parent 0e022fc commit ecd7862
Showing 1 changed file with 1 addition and 1 deletion.
Expand Up @@ -43,7 +43,7 @@ impl RemoveNoopLandingPads {
// These are all nops in a landing pad
}

StatementKind::Assign(box (place, Rvalue::Use(_))) => {
StatementKind::Assign(box (place, Rvalue::Use(_) | Rvalue::Discriminant(_))) => {
if place.as_local().is_some() {
// Writing to a local (e.g., a drop flag) does not
// turn a landing pad to a non-nop
Expand Down

0 comments on commit ecd7862

Please sign in to comment.