diff options
| author | bors <bors@rust-lang.org> | 2020-10-04 18:24:02 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-10-04 18:24:02 +0000 |
| commit | 4ccf5f731bb71db3470002d6baf5ab4792b821d9 (patch) | |
| tree | 2a066b9fad8ec915bb91d565e61d9cfe8c72a354 /compiler/rustc_mir/src/transform/simplify_try.rs | |
| parent | a835b483fe0418b48ca44afb65cd0dd6bad4eb9b (diff) | |
| parent | 606655edc431d5f0069543a5d523c8bc67b918cf (diff) | |
| download | rust-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.rs | 10 |
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(); |
