about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/mir/transform.rs2
-rw-r--r--src/librustc/session/mod.rs3
-rw-r--r--src/librustc_driver/driver.rs4
-rw-r--r--src/librustc_driver/test.rs3
4 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc/mir/transform.rs b/src/librustc/mir/transform.rs
index 77d4eefb1de..aa91123ef69 100644
--- a/src/librustc/mir/transform.rs
+++ b/src/librustc/mir/transform.rs
@@ -134,6 +134,8 @@ pub trait MirPass {
 }
 
 /// A manager for MIR passes.
+///
+/// FIXME(#41712) -- it is unclear whether we should have this struct.
 #[derive(Clone)]
 pub struct Passes {
     pass_hooks: Vec<Rc<PassHook>>,
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
index c8732c31663..ec3eaa124c3 100644
--- a/src/librustc/session/mod.rs
+++ b/src/librustc/session/mod.rs
@@ -21,7 +21,6 @@ use session::config::DebugInfoLevel;
 use ty::tls;
 use util::nodemap::{FxHashMap, FxHashSet};
 use util::common::duration_to_secs_str;
-use mir::transform as mir_pass;
 
 use syntax::ast::NodeId;
 use errors::{self, DiagnosticBuilder};
@@ -85,7 +84,6 @@ pub struct Session {
     /// redundantly verbose output (Issue #24690).
     pub one_time_diagnostics: RefCell<FxHashSet<(lint::LintId, Span, String)>>,
     pub plugin_llvm_passes: RefCell<Vec<String>>,
-    pub mir_passes: RefCell<mir_pass::Passes>,
     pub plugin_attributes: RefCell<Vec<(String, AttributeType)>>,
     pub crate_types: RefCell<Vec<config::CrateType>>,
     pub dependency_formats: RefCell<dependency_format::Dependencies>,
@@ -670,7 +668,6 @@ pub fn build_session_(sopts: config::Options,
         lints: RefCell::new(lint::LintTable::new()),
         one_time_diagnostics: RefCell::new(FxHashSet()),
         plugin_llvm_passes: RefCell::new(Vec::new()),
-        mir_passes: RefCell::new(mir_pass::Passes::new()),
         plugin_attributes: RefCell::new(Vec::new()),
         crate_types: RefCell::new(Vec::new()),
         dependency_formats: RefCell::new(FxHashMap()),
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index 83502708584..9f0f567b6ce 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -20,7 +20,7 @@ use rustc::session::search_paths::PathKind;
 use rustc::lint;
 use rustc::middle::{self, dependency_format, stability, reachable};
 use rustc::middle::privacy::AccessLevels;
-use rustc::mir::transform::{MIR_CONST, MIR_VALIDATED, MIR_OPTIMIZED};
+use rustc::mir::transform::{MIR_CONST, MIR_VALIDATED, MIR_OPTIMIZED, Passes};
 use rustc::ty::{self, TyCtxt, Resolutions, GlobalArenas};
 use rustc::util::common::time;
 use rustc::util::nodemap::NodeSet;
@@ -904,7 +904,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
     rustc_const_eval::provide(&mut extern_providers);
 
     // Setup the MIR passes that we want to run.
-    let mut passes = sess.mir_passes.borrow().clone();
+    let mut passes = Passes::new();
     passes.push_hook(mir::transform::dump_mir::DumpMir);
 
     // What we need to do constant evaluation.
diff --git a/src/librustc_driver/test.rs b/src/librustc_driver/test.rs
index 49405563406..8b95be00fa7 100644
--- a/src/librustc_driver/test.rs
+++ b/src/librustc_driver/test.rs
@@ -27,6 +27,7 @@ use rustc::infer::{self, InferOk, InferResult};
 use rustc::infer::type_variable::TypeVariableOrigin;
 use rustc_metadata::cstore::CStore;
 use rustc::hir::map as hir_map;
+use rustc::mir::transform::Passes;
 use rustc::session::{self, config};
 use std::rc::Rc;
 use syntax::ast;
@@ -141,7 +142,7 @@ fn test_env<F>(source_string: &str,
     TyCtxt::create_and_enter(&sess,
                              ty::maps::Providers::default(),
                              ty::maps::Providers::default(),
-                             Rc::new(sess.mir_passes.borrow().clone()),
+                             Rc::new(Passes::new()),
                              &arenas,
                              &arena,
                              resolutions,