diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2017-08-25 07:17:37 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2017-08-25 07:17:37 -0700 |
| commit | 303a26406a136e24dcfe083e2c4b07f4cdad3d93 (patch) | |
| tree | df87d3958b81a2a5e7dbfa70e2cb7b0cab3b71f2 | |
| parent | b28aeeb04e7bdc53a2a7601e8a04f4e19a7cfe58 (diff) | |
| download | rust-303a26406a136e24dcfe083e2c4b07f4cdad3d93.tar.gz rust-303a26406a136e24dcfe083e2c4b07f4cdad3d93.zip | |
Reorder slightly in `visit_basic_block_data`
| -rw-r--r-- | src/librustc_mir/transform/generator.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/librustc_mir/transform/generator.rs b/src/librustc_mir/transform/generator.rs index b4d6bb09a15..748db9ac803 100644 --- a/src/librustc_mir/transform/generator.rs +++ b/src/librustc_mir/transform/generator.rs @@ -140,18 +140,6 @@ impl<'a, 'tcx> MutVisitor<'tcx> for TransformVisitor<'a, 'tcx> { fn visit_basic_block_data(&mut self, block: BasicBlock, data: &mut BasicBlockData<'tcx>) { - let ret_val = match data.terminator().kind { - TerminatorKind::Return => Some((1, - self.return_block, - Operand::Consume(Lvalue::Local(self.new_ret_local)), - None)), - TerminatorKind::Yield { ref value, resume, drop } => Some((0, - resume, - value.clone(), - drop)), - _ => None - }; - // Remove StorageLive and StorageDead statements for remapped locals data.retain_statements(|s| { match s.kind { @@ -166,6 +154,18 @@ impl<'a, 'tcx> MutVisitor<'tcx> for TransformVisitor<'a, 'tcx> { } }); + let ret_val = match data.terminator().kind { + TerminatorKind::Return => Some((1, + self.return_block, + Operand::Consume(Lvalue::Local(self.new_ret_local)), + None)), + TerminatorKind::Yield { ref value, resume, drop } => Some((0, + resume, + value.clone(), + drop)), + _ => None + }; + if let Some((state_idx, resume, v, drop)) = ret_val { let bb_idx = { let bb_targets = &mut self.bb_targets; |
