Skip to content

Commit 19679d3

Browse files
committed
Improved wording in comments and logs
1 parent f85c6a4 commit 19679d3

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

compiler/rustc_mir_transform/src/copy_prop.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ impl<'tcx> crate::MirPass<'tcx> for CopyProp {
5252
let fully_moved = fully_moved_locals(&ssa, body);
5353
debug!(?fully_moved);
5454

55-
// We can determine if we can keep the head's storage statements (which enables better optimizations).
56-
// For every local's usage location, we'll to remove it's storage statements only if the head is maybe-uninitialized,
57-
// or if the local is borrowed (since we cannot easily identify when it is used).
55+
// When emitting storage statements, we want to retain the head locals' storage statements,
56+
// as this enables better optimizations. For each local use location, we mark the head for storage removal
57+
// only if the head might be uninitialized at that point, or if the local is borrowed
58+
// (since we cannot easily determine when it's used).
5859
let storage_to_remove = if tcx.sess.emit_lifetime_markers() {
5960
storage_to_remove.clear();
6061

@@ -75,7 +76,7 @@ impl<'tcx> crate::MirPass<'tcx> for CopyProp {
7576

7677
storage_checker.storage_to_remove
7778
} else {
78-
// Conservatively remove all storage statements for the head locals.
79+
// Remove the storage statements of all the head locals.
7980
storage_to_remove
8081
};
8182

@@ -233,7 +234,7 @@ impl<'a, 'tcx> Visitor<'tcx> for StorageChecker<'a, 'tcx> {
233234
?context,
234235
?local,
235236
?head,
236-
"found a head at a location in which it is maybe uninit, marking head for storage statement removal"
237+
"local's head is maybe uninit at this location, marking head for storage statement removal"
237238
);
238239
self.storage_to_remove.insert(head);
239240
}

compiler/rustc_mir_transform/src/gvn.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,9 @@ impl<'tcx> crate::MirPass<'tcx> for GVN {
141141
state.visit_basic_block_data(bb, data);
142142
}
143143

144-
// If we emit storage annotations, use `MaybeStorageDead` to check which reused locals
145-
// require storage removal (making them alive for the duration of the function).
144+
// When emitting storage statements, we want to retain the reused locals' storage statements,
145+
// as this enables better optimizations. For each local use location, we mark it for storage removal
146+
// only if it might be uninitialized at that point.
146147
let storage_to_remove = if tcx.sess.emit_lifetime_markers() {
147148
let maybe_uninit = MaybeUninitializedLocals::new()
148149
.iterate_to_fixpoint(tcx, body, Some("mir_opt::gvn"))
@@ -160,7 +161,7 @@ impl<'tcx> crate::MirPass<'tcx> for GVN {
160161

161162
storage_checker.storage_to_remove
162163
} else {
163-
// Conservatively remove all storage statements for reused locals.
164+
// Remove the storage statements of all the reused locals.
164165
state.reused_locals.clone()
165166
};
166167

@@ -1907,7 +1908,11 @@ impl<'a, 'tcx> Visitor<'tcx> for StorageChecker<'a, 'tcx> {
19071908
self.maybe_uninit.seek_before_primary_effect(location);
19081909

19091910
if self.maybe_uninit.get().contains(local) {
1910-
debug!(?location, ?local, "local is maybe uninit in this location, removing storage");
1911+
debug!(
1912+
?location,
1913+
?local,
1914+
"local is reused and is maybe uninit at this location, marking it for storage statement removal"
1915+
);
19111916
self.storage_to_remove.insert(local);
19121917
}
19131918
}

0 commit comments

Comments
 (0)