diff options
author | Sanjay Patel <spatel@rotateright.com> | 2019-07-04 16:45:34 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2019-07-04 16:45:34 +0000 |
commit | 75b5edf6a1df09d466a9c4f5669121add1632067 (patch) | |
tree | bee2abd1e38ebc6a66c44827282cfb5806626221 /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | |
parent | 0cd50b2a95d32924a164e8a79fff313f037e002d (diff) | |
download | llvm-75b5edf6a1df09d466a9c4f5669121add1632067.zip llvm-75b5edf6a1df09d466a9c4f5669121add1632067.tar.gz llvm-75b5edf6a1df09d466a9c4f5669121add1632067.tar.bz2 |
[InstCombine] allow undef elements when forming splat from chain of insertelements
We allow forming a splat (broadcast) shuffle, but we were conservatively limiting
that to cases where all elements of the vector are specified. It should be safe
from a codegen perspective to allow undefined lanes of the vector because the
expansion of a splat shuffle would become the chain of inserts again.
Forming splat shuffles can reduce IR and help enable further IR transforms.
Motivating bugs:
https://bugs.llvm.org/show_bug.cgi?id=42174
https://bugs.llvm.org/show_bug.cgi?id=16739
Differential Revision: https://reviews.llvm.org/D63848
llvm-svn: 365147
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
0 files changed, 0 insertions, 0 deletions