diff options
| author | Michael Woerister <michaelwoerister@posteo> | 2017-08-16 15:13:55 +0200 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo> | 2017-08-16 15:46:34 +0200 |
| commit | 14d62c650faeca7df7a2c702b20820ef52924e89 (patch) | |
| tree | ab27626ca02b3dff314a21a7875f3af08c5e72f8 | |
| parent | 85eadf84f3945dc431643ea43d34f15193fdafb4 (diff) | |
| download | rust-14d62c650faeca7df7a2c702b20820ef52924e89.tar.gz rust-14d62c650faeca7df7a2c702b20820ef52924e89.zip | |
Run MIR passes on promoted temporaries again.
| -rw-r--r-- | src/librustc_mir/transform/mod.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index e3e4265a7db..6b211fc530e 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -148,6 +148,14 @@ fn run_suite<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, pass.run_pass(tcx, source, mir); + for (index, promoted_mir) in mir.promoted.iter_enumerated_mut() { + let promoted_source = MirSource::Promoted(source.item_id(), index); + pass.run_pass(tcx, promoted_source, promoted_mir); + + // Let's make sure we don't miss any nested instances + assert!(promoted_mir.promoted.is_empty()); + } + for hook in tcx.mir_passes.hooks() { hook.on_mir_pass(tcx, suite, pass_num, &pass.name(), source, &mir, true); } |
