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/CodeGen/SelectionDAG/DAGCombiner.cpp | |
| parent | 0cd50b2a95d32924a164e8a79fff313f037e002d (diff) | |
| download | bcm5719-llvm-75b5edf6a1df09d466a9c4f5669121add1632067.tar.gz bcm5719-llvm-75b5edf6a1df09d466a9c4f5669121add1632067.zip | |
[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/CodeGen/SelectionDAG/DAGCombiner.cpp')
0 files changed, 0 insertions, 0 deletions

