about summary refs log tree commit diff
path: root/compiler/rustc_mir/src/transform/simplify_try.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-10-04 18:24:02 +0000
committerbors <bors@rust-lang.org>2020-10-04 18:24:02 +0000
commit4ccf5f731bb71db3470002d6baf5ab4792b821d9 (patch)
tree2a066b9fad8ec915bb91d565e61d9cfe8c72a354 /compiler/rustc_mir/src/transform/simplify_try.rs
parenta835b483fe0418b48ca44afb65cd0dd6bad4eb9b (diff)
parent606655edc431d5f0069543a5d523c8bc67b918cf (diff)
downloadrust-4ccf5f731bb71db3470002d6baf5ab4792b821d9.tar.gz
rust-4ccf5f731bb71db3470002d6baf5ab4792b821d9.zip
Auto merge of #77430 - ecstatic-morse:mir-source-in-body, r=lcnr
Store a `MirSource` inside every `Body`

Resolves #77427.

r? `@ghost`
Diffstat (limited to 'compiler/rustc_mir/src/transform/simplify_try.rs')
-rw-r--r--compiler/rustc_mir/src/transform/simplify_try.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/rustc_mir/src/transform/simplify_try.rs b/compiler/rustc_mir/src/transform/simplify_try.rs
index b2c889bfd05..e6b7345d6e4 100644
--- a/compiler/rustc_mir/src/transform/simplify_try.rs
+++ b/compiler/rustc_mir/src/transform/simplify_try.rs
@@ -9,7 +9,7 @@
 //!
 //! into just `x`.
 
-use crate::transform::{simplify, MirPass, MirSource};
+use crate::transform::{simplify, MirPass};
 use itertools::Itertools as _;
 use rustc_index::{bit_set::BitSet, vec::IndexVec};
 use rustc_middle::mir::visit::{NonUseContext, PlaceContext, Visitor};
@@ -367,13 +367,15 @@ fn optimization_applies<'tcx>(
 }
 
 impl<'tcx> MirPass<'tcx> for SimplifyArmIdentity {
-    fn run_pass(&self, tcx: TyCtxt<'tcx>, source: MirSource<'tcx>, body: &mut Body<'tcx>) {
+    fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
         // FIXME(77359): This optimization can result in unsoundness.
         if !tcx.sess.opts.debugging_opts.unsound_mir_opts {
             return;
         }
 
+        let source = body.source;
         trace!("running SimplifyArmIdentity on {:?}", source);
+
         let local_uses = LocalUseCounter::get_local_uses(body);
         let (basic_blocks, local_decls, debug_info) =
             body.basic_blocks_local_decls_mut_and_var_debug_info();
@@ -528,8 +530,8 @@ fn match_variant_field_place<'tcx>(place: Place<'tcx>) -> Option<(Local, VarFiel
 pub struct SimplifyBranchSame;
 
 impl<'tcx> MirPass<'tcx> for SimplifyBranchSame {
-    fn run_pass(&self, tcx: TyCtxt<'tcx>, source: MirSource<'tcx>, body: &mut Body<'tcx>) {
-        trace!("Running SimplifyBranchSame on {:?}", source);
+    fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
+        trace!("Running SimplifyBranchSame on {:?}", body.source);
         let finder = SimplifyBranchSameOptimizationFinder { body, tcx };
         let opts = finder.find();