From 38612f5ec7a464709f2dabde4edb843695ec84b2 Mon Sep 17 00:00:00 2001 From: Camille GILLOT Date: Wed, 26 Apr 2023 18:40:10 +0000 Subject: [PATCH] Explicitly skip arguments. --- compiler/rustc_mir_dataflow/src/impls/storage_liveness.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/rustc_mir_dataflow/src/impls/storage_liveness.rs b/compiler/rustc_mir_dataflow/src/impls/storage_liveness.rs index 9656148581f..463ce083a64 100644 --- a/compiler/rustc_mir_dataflow/src/impls/storage_liveness.rs +++ b/compiler/rustc_mir_dataflow/src/impls/storage_liveness.rs @@ -97,6 +97,7 @@ impl<'tcx> crate::AnalysisDomain<'tcx> for MaybeStorageDead { fn initialize_start_block(&self, body: &mir::Body<'tcx>, on_entry: &mut Self::Domain) { assert_eq!(body.local_decls.len(), self.always_live_locals.domain_size()); + // Do not iterate on return place and args, as they are trivially always live. for local in body.vars_and_temps_iter() { if !self.always_live_locals.contains(local) { on_entry.insert(local);