diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2022-12-25 22:16:30 +0300 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2022-12-26 22:54:03 +0300 |
commit | 62fc5f16405a7d39e62044bc461752f3f31bdca0 (patch) | |
tree | 04f8067adfe2c923fb5c10fc004f390dcccbf9b9 /llvm/tools/llvm-strings/llvm-strings.cpp | |
parent | 46458aadd427aae2254a6f219e6180252d677e45 (diff) | |
download | llvm-62fc5f16405a7d39e62044bc461752f3f31bdca0.zip llvm-62fc5f16405a7d39e62044bc461752f3f31bdca0.tar.gz llvm-62fc5f16405a7d39e62044bc461752f3f31bdca0.tar.bz2 |
[DAGCombiner] Add a most basic `combineShuffleToZeroExtendVectorInReg()`
Sometimes we end up with a shuffles in DAG that would be
better represented as a `ISD::ZERO_EXTEND_VECTOR_INREG`,
and a failure to do so causes suboptimal codegen in a number of cases,
especially when we will then cast vector to scalar.
I acknowledge, the test changes here are rather underwhelming,
but as with all of codegen, it's always a yak shawing,
and this is the most stripped down version of the patch
that shows *some* effect without having insurmountable amount
of fallout to deal with. The next change resolves this regression.
The transformation will be extended in follow-ups.
Diffstat (limited to 'llvm/tools/llvm-strings/llvm-strings.cpp')
0 files changed, 0 insertions, 0 deletions