Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[DAGCombine][X86] Pull one-use
freeze
out of extract_vector_elt
v…
…ector operand This may allow us to further simplify the vector, and freezing the extracted result is still fine: ``` ---------------------------------------- define i8 @src(<2 x i8> %src, i64 %idx) { %0: %i1 = freeze <2 x i8> %src %i2 = extractelement <2 x i8> %i1, i64 %idx ret i8 %i2 } => define i8 @tgt(<2 x i8> %src, i64 %idx) { %0: %i1 = extractelement <2 x i8> %src, i64 %idx %i2 = freeze i8 %i1 ret i8 %i2 } Transformation seems to be correct! ``` BUT, there must not be other uses of that freeze, see `@freeze_extractelement_extra_use`. Also, looks like we are missing some ISEL-level handling for freeze.
- Loading branch information
Showing
2 changed files
with
22 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters