about summary refs log tree commit diff
path: root/src/librustc_driver
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2017-04-25 18:23:33 -0400
committerNiko Matsakis <niko@alum.mit.edu>2017-05-02 14:01:01 -0400
commit46b342fbc03664566d65e1b3248f89cbef93ef4c (patch)
tree7240a1ab4273707acd552117d45621eee0adff18 /src/librustc_driver
parent11b6b0663ae0a89eea913f44aa1eb859b0ef0d3a (diff)
downloadrust-46b342fbc03664566d65e1b3248f89cbef93ef4c.tar.gz
rust-46b342fbc03664566d65e1b3248f89cbef93ef4c.zip
simplify the MirPass traits and passes dramatically
Overall goal: reduce the amount of context a mir pass needs so that it
resembles a query.

- The hooks are no longer "threaded down" to the pass, but rather run
  automatically from the top-level (we also thread down the current pass
  number, so that the files are sorted better).
  - The hook now receives a *single* callback, rather than a callback per-MIR.
- The traits are no longer lifetime parameters, which moved to the
  methods -- given that we required
  `for<'tcx>` objecs, there wasn't much point to that.
- Several passes now store a `String` instead of a `&'l str` (again, no
  point).
Diffstat (limited to 'src/librustc_driver')
-rw-r--r--src/librustc_driver/driver.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index 5d6bc235761..64fb2168ca1 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -979,8 +979,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
             passes.push_pass(box mir::transform::simplify::SimplifyCfg::new("initial"));
             passes.push_pass(box mir::transform::type_check::TypeckMir);
             passes.push_pass(box mir::transform::qualify_consts::QualifyAndPromoteConstants);
-            passes.push_pass(
-                box mir::transform::simplify_branches::SimplifyBranches::new("initial"));
+            passes.push_pass(box mir::transform::simplify_branches::SimplifyBranches::new("initial"));
             passes.push_pass(box mir::transform::simplify::SimplifyCfg::new("qualify-consts"));
             // And run everything.
             passes.run_passes(tcx);