about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-19 13:52:55 +0200
committerSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-22 23:09:07 +0200
commitd3338dcf4de915fedc39ca46cb9944250bcb1a9e (patch)
treefc749312135328420d83602d487efea757c64e5e
parentb4bdaa14f2a4ab14812502e1b12a2effe1c92a2a (diff)
downloadrust-d3338dcf4de915fedc39ca46cb9944250bcb1a9e.tar.gz
rust-d3338dcf4de915fedc39ca46cb9944250bcb1a9e.zip
Get LocalDefId from source instead of passing in
-rw-r--r--compiler/rustc_mir/src/transform/mod.rs2
-rw-r--r--compiler/rustc_mir/src/transform/remove_unneeded_drops.rs12
2 files changed, 3 insertions, 11 deletions
diff --git a/compiler/rustc_mir/src/transform/mod.rs b/compiler/rustc_mir/src/transform/mod.rs
index 17ef98c176d..f48ad039b4f 100644
--- a/compiler/rustc_mir/src/transform/mod.rs
+++ b/compiler/rustc_mir/src/transform/mod.rs
@@ -462,7 +462,7 @@ fn run_optimization_passes<'tcx>(
 
     // The main optimizations that we do on MIR.
     let optimizations: &[&dyn MirPass<'tcx>] = &[
-        &remove_unneeded_drops::RemoveUnneededDrops::new(def_id),
+        &remove_unneeded_drops::RemoveUnneededDrops,
         &match_branches::MatchBranchSimplification,
         // inst combine is after MatchBranchSimplification to clean up Ne(_1, false)
         &instcombine::InstCombine,
diff --git a/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs b/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs
index 393b0f923b9..505133219b8 100644
--- a/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs
+++ b/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs
@@ -6,15 +6,7 @@ use rustc_middle::mir::visit::Visitor;
 use rustc_middle::mir::*;
 use rustc_middle::ty::TyCtxt;
 
-pub struct RemoveUnneededDrops {
-    def_id: LocalDefId,
-}
-
-impl RemoveUnneededDrops {
-    pub fn new(def_id: LocalDefId) -> Self {
-        Self { def_id }
-    }
-}
+pub struct RemoveUnneededDrops;
 
 impl<'tcx> MirPass<'tcx> for RemoveUnneededDrops {
     fn run_pass(&self, tcx: TyCtxt<'tcx>, source: MirSource<'tcx>, body: &mut Body<'tcx>) {
@@ -23,7 +15,7 @@ impl<'tcx> MirPass<'tcx> for RemoveUnneededDrops {
             tcx,
             body,
             optimizations: vec![],
-            def_id: self.def_id,
+            def_id: source.def_id().expect_local(),
         };
         opt_finder.visit_body(body);
         for (loc, target) in opt_finder.optimizations {