swift
16216924 - [CopyPropagation] Eliminate redundant moves.

Commit
2 years ago
[CopyPropagation] Eliminate redundant moves. SemanticARCOpts already eliminates move values that are redundant that block its optimizations. But it's always run after CopyPropagation. Because move_values divide copy-extended lifetimes, move_values obstruct lifetime canonicalization. If a move_value isn't separating lifetimes with different characteristics (specifically: lexicallity, escaping), then it is only obstructing lifetime canonicalization. Remove it before canonicalizing the lifetime of the moved-from value.
Author
Committer
Parents
Loading