diff options
| author | Simon Vandel Sillesen <simon.vandel@gmail.com> | 2020-09-19 13:52:55 +0200 |
|---|---|---|
| committer | Simon Vandel Sillesen <simon.vandel@gmail.com> | 2020-09-22 23:09:07 +0200 |
| commit | d3338dcf4de915fedc39ca46cb9944250bcb1a9e (patch) | |
| tree | fc749312135328420d83602d487efea757c64e5e | |
| parent | b4bdaa14f2a4ab14812502e1b12a2effe1c92a2a (diff) | |
| download | rust-d3338dcf4de915fedc39ca46cb9944250bcb1a9e.tar.gz rust-d3338dcf4de915fedc39ca46cb9944250bcb1a9e.zip | |
Get LocalDefId from source instead of passing in
| -rw-r--r-- | compiler/rustc_mir/src/transform/mod.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_mir/src/transform/remove_unneeded_drops.rs | 12 |
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 { |
