diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2017-05-01 12:47:00 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2017-05-02 16:21:55 -0400 |
| commit | c253df5249b5f3c7d6f85e1ed28afbf0adc1390b (patch) | |
| tree | 514b990a3d896f6b2592e94daf7c8d4b1985f390 /src/librustc_mir/transform | |
| parent | 69c8f9dd254982b3bf0908839bb7dc173b6cbaaa (diff) | |
| download | rust-c253df5249b5f3c7d6f85e1ed28afbf0adc1390b.tar.gz rust-c253df5249b5f3c7d6f85e1ed28afbf0adc1390b.zip | |
remove `Pass` and (temporarily) drop `Inline`
Diffstat (limited to 'src/librustc_mir/transform')
| -rw-r--r-- | src/librustc_mir/transform/inline.rs | 7 | ||||
| -rw-r--r-- | src/librustc_mir/transform/mod.rs | 8 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs index e10a91c6ec2..2323b55951d 100644 --- a/src/librustc_mir/transform/inline.rs +++ b/src/librustc_mir/transform/inline.rs @@ -18,7 +18,7 @@ use rustc_data_structures::graph; use rustc::dep_graph::DepNode; use rustc::mir::*; -use rustc::mir::transform::{MirCtxt, MirSource, Pass, PassId}; +use rustc::mir::transform::{MirCtxt, MirSource, PassId}; use rustc::mir::visit::*; use rustc::traits; use rustc::ty::{self, Ty, TyCtxt}; @@ -45,6 +45,11 @@ const UNKNOWN_SIZE_COST: usize = 10; pub struct Inline; +pub trait Pass { + fn run_pass<'a, 'tcx: 'a>(&self, mir_cx: &MirCtxt<'a, 'tcx>) + -> Multi<PassId, &'tcx Steal<Mir<'tcx>>>; +} + impl Pass for Inline { fn run_pass<'a, 'tcx: 'a>(&self, mir_cx: &MirCtxt<'a, 'tcx>) -> Multi<PassId, &'tcx Steal<Mir<'tcx>>> { diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index 81af7c23960..feef7a197c5 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -70,15 +70,11 @@ fn mir_pass<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, let mir = pass.run_pass(&mir_ctxt); - let key = &(suite, pass_num, def_id); for hook in passes.hooks() { - for (&(_, _, k), v) in mir.iter(key) { - let v = &v.borrow(); - hook.on_mir_pass(&mir_ctxt, Some((k, v))); - } + hook.on_mir_pass(&mir_ctxt, Some((def_id, &mir))); } - mir + Multi::from(tcx.alloc_steal_mir(mir)) } struct MirCtxtImpl<'a, 'tcx: 'a> { |
