diff options
| author | Markus Westerlind <markus.westerlind@imperva.com> | 2020-01-08 22:07:05 +0100 |
|---|---|---|
| committer | Markus Westerlind <markus.westerlind@distilnetworks.com> | 2020-02-13 11:13:13 +0100 |
| commit | 851a701f90081fbc83fa151e9f272cea2a990779 (patch) | |
| tree | 942b59af58e31f98fa35baf76720d8d78ceca440 | |
| parent | 1f8df2508f2772d83011f0f651de86181123e519 (diff) | |
| download | rust-851a701f90081fbc83fa151e9f272cea2a990779.tar.gz rust-851a701f90081fbc83fa151e9f272cea2a990779.zip | |
Reuse a Vec in mir simplification
| -rw-r--r-- | src/librustc_mir/transform/simplify.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc_mir/transform/simplify.rs b/src/librustc_mir/transform/simplify.rs index ddf8d73e548..d589c03761a 100644 --- a/src/librustc_mir/transform/simplify.rs +++ b/src/librustc_mir/transform/simplify.rs @@ -94,6 +94,7 @@ impl<'a, 'tcx> CfgSimplifier<'a, 'tcx> { self.strip_nops(); let mut start = START_BLOCK; + let mut new_stmts = vec![]; loop { let mut changed = false; @@ -114,7 +115,6 @@ impl<'a, 'tcx> CfgSimplifier<'a, 'tcx> { self.collapse_goto_chain(successor, &mut changed); } - let mut new_stmts = vec![]; let mut inner_changed = true; while inner_changed { inner_changed = false; @@ -124,7 +124,7 @@ impl<'a, 'tcx> CfgSimplifier<'a, 'tcx> { } let data = &mut self.basic_blocks[bb]; - data.statements.extend(new_stmts); + data.statements.extend(new_stmts.drain(..)); data.terminator = Some(terminator); changed |= inner_changed; |
