diff options
author | agorenstein-nvidia <agorenstein@nvidia.com> | 2025-07-04 12:19:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-04 18:19:50 +0200 |
commit | b0473c599b0418c71d15150e0ea19d57df3b98e5 (patch) | |
tree | 1b0e0d5abf9b4361686b8a7f837344fd4055786a /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | cc6a864788ff4b2687f66e4f6ddef7272e82d06d (diff) | |
download | llvm-b0473c599b0418c71d15150e0ea19d57df3b98e5.zip llvm-b0473c599b0418c71d15150e0ea19d57df3b98e5.tar.gz llvm-b0473c599b0418c71d15150e0ea19d57df3b98e5.tar.bz2 |
[InstCombine] Pull extract through broadcast (#143380)
The change adds a new instcombine pattern, and associated test, for
patterns like this:
```
%3 = shufflevector <2 x float> %1, <2 x float> poison, <4 x i32> zeroinitializer
%4 = extractelement <4 x float> %3, i64 %idx
```
The shufflevector has a splat, or broadcast, mask, so the extractelement
simply must be the first element of %1, so we transform this to
```
%2 = extractelement <2 x float> %1, i64 0
```
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions