diff options
| author | Florian Hahn <flo@fhahn.com> | 2021-05-24 09:19:40 +0100 |
|---|---|---|
| committer | Florian Hahn <flo@fhahn.com> | 2021-05-24 09:29:08 +0100 |
| commit | 86497785d540e59eaca24bed4219ddec183cbc9b (patch) | |
| tree | adca64fb04357b8a01c8b241851e3a8cf2124675 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 058f384ae94ae0ac94441043804e4a25d338d483 (diff) | |
[VectorCombine] Scalarize vector load/extract.
This patch adds a new combine that tries to scalarize chains of
`extractelement (load %ptr), %idx` to `load (gep %ptr, %idx)`. This is
profitable when extracting only a few elements out of a large vector.
At the moment, `store (extractelement (load %ptr), %idx), %ptr`
operations on large vectors result in huge code in the backend.
This can easily be triggered by using the matrix extension, e.g.
https://clang.godbolt.org/z/qsccPdPf4
This should complement D98240.
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D100273
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
