Skip to content

Commit c2a31e0

Browse files
committed
Improved wording in comments and logs
1 parent af9a9ac commit c2a31e0

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
@@ -143,8 +143,9 @@ impl<'tcx> crate::MirPass<'tcx> for GVN {
143143
state.visit_basic_block_data(bb, data);
144144
}
145145

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

163164
storage_checker.storage_to_remove
164165
} else {
165-
// Conservatively remove all storage statements for reused locals.
166+
// Remove the storage statements of all the reused locals.
166167
state.reused_locals.clone()
167168
};
168169

@@ -1938,7 +1939,11 @@ impl<'a, 'tcx> Visitor<'tcx> for StorageChecker<'a, 'tcx> {
19381939
self.maybe_uninit.seek_before_primary_effect(location);
19391940

19401941
if self.maybe_uninit.get().contains(local) {
1941-
debug!(?location, ?local, "local is maybe uninit in this location, removing storage");
1942+
debug!(
1943+
?location,
1944+
?local,
1945+
"local is reused and is maybe uninit at this location, marking it for storage statement removal"
1946+
);
19421947
self.storage_to_remove.insert(local);
19431948
}
19441949
}

0 commit comments

Comments
 (0)