diff options
| author | Craig Topper <craig.topper@sifive.com> | 2024-04-29 22:44:24 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-29 22:44:24 -0700 |
| commit | 705636a1130551ab105aec95b909a35a0305fc9f (patch) | |
| tree | 765c34d5efe74fc7acb94e96a6a2f9b783b772d2 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 18268ac0f48d93c2bcddb69732761971669c09ab (diff) | |
| download | llvm-705636a1130551ab105aec95b909a35a0305fc9f.zip llvm-705636a1130551ab105aec95b909a35a0305fc9f.tar.gz llvm-705636a1130551ab105aec95b909a35a0305fc9f.tar.bz2 | |
[SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)
LegalizeVectorType is responsible for legalizing nodes that perform an
operation on each element may need to scalarize.
This is not true for nodes like VP_REDUCE.*, BUILD_VECTOR,
SHUFFLE_VECTOR, EXTRACT_SUBVECTOR, etc.
This patch drops any nodes with a scalar result from LegalizeVectorOps
and handles them in LegalizeDAG instead.
This required moving the reduction promotion to LegalizeDAG. I have
removed the support integer promotion as it was incorrect for integer
min/max reductions. Since it was untested, it was best to assert on it
until it was really needed.
There are a couple regressions that can be fixed with a small DAG
combine which I will do as a follow up.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
