Skip to content

Commit

Permalink
pattern match directly on constant
Browse files Browse the repository at this point in the history
  • Loading branch information
simonvandel committed Oct 25, 2020
1 parent 1fe09b0 commit 569f01c
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions compiler/rustc_mir/src/transform/const_goto.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ impl<'a, 'tcx> Visitor<'tcx> for ConstGotoOptimizationFinder<'a, 'tcx> {
// We only apply this optimization if the last statement is a const assignment
let last_statement = self.body.basic_blocks()[location.block].statements.last()?;

if let Some((place, Rvalue::Use(op))) = last_statement.kind.as_assign() {
let _const = op.constant()?;
if let (place, Rvalue::Use(Operand::Constant(_const))) =
last_statement.kind.as_assign()?
{
// We found a constant being assigned to `place`.
// Now check that the target of this Goto switches on this place.
let target_bb = &self.body.basic_blocks()[target];
Expand Down

0 comments on commit 569f01c

Please sign in to comment.