Skip to content

Commit 550a3a9

Browse files
committed
Improved wording in comments and logs
1 parent 3f4ae04 commit 550a3a9

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

@@ -230,7 +231,7 @@ impl<'a, 'tcx> Visitor<'tcx> for StorageChecker<'a, 'tcx> {
230231
?context,
231232
?local,
232233
?head,
233-
"found a head at a location in which it is maybe uninit, marking head for storage statement removal"
234+
"local's head is maybe uninit at this location, marking head for storage statement removal"
234235
);
235236
self.storage_to_remove.insert(head);
236237
}

compiler/rustc_mir_transform/src/gvn.rs

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

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

172173
storage_checker.storage_to_remove
173174
} else {
174-
// Conservatively remove all storage statements for reused locals.
175+
// Remove the storage statements of all the reused locals.
175176
state.reused_locals.clone()
176177
};
177178

@@ -2014,7 +2015,11 @@ impl<'a, 'tcx> Visitor<'tcx> for StorageChecker<'a, 'tcx> {
20142015
self.maybe_uninit.seek_before_primary_effect(location);
20152016

20162017
if self.maybe_uninit.get().contains(local) {
2017-
debug!(?location, ?local, "local is maybe uninit in this location, removing storage");
2018+
debug!(
2019+
?location,
2020+
?local,
2021+
"local is reused and is maybe uninit at this location, marking it for storage statement removal"
2022+
);
20182023
self.storage_to_remove.insert(local);
20192024
}
20202025
}

0 commit comments

Comments
 (0)