diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2015-04-03 13:48:24 +0000 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2015-04-03 13:48:24 +0000 |
commit | 91dd765a041834bebb47ff72537e13518a6ab4a1 (patch) | |
tree | 99f47b54c91b3af0ea2e6d8f4a6ca18385805f04 /llvm/lib/Support/GraphWriter.cpp | |
parent | e2a8241f844a4fea258aa3cdf43db0a8ba2b9cd5 (diff) | |
download | llvm-91dd765a041834bebb47ff72537e13518a6ab4a1.zip llvm-91dd765a041834bebb47ff72537e13518a6ab4a1.tar.gz llvm-91dd765a041834bebb47ff72537e13518a6ab4a1.tar.bz2 |
[PowerPC] Enable splat generation for BUILD_VECTOR with little endian
When enabling PPC64LE, I disabled some optimizations of BUILD_VECTOR
nodes for little endian because wrong results were produced. I've
subsequently investigated and found this is due to a call to
BuildVectorSDNode::isConstantSplat that was always specifying
big-endian. With this changed to correctly identify the target
endianness, the optimizations work as expected.
I found another case of a call to the same method with big-endian
hardcoded, in PPC::isAllNegativeZeroVector(). I discovered this was
an orphaned method with no callers, so I've just removed it.
The existing test/CodeGen/PowerPC/vec_constants.ll checks these
optimizations, so for testing I've just added a variant for little
endian.
llvm-svn: 234011
Diffstat (limited to 'llvm/lib/Support/GraphWriter.cpp')
0 files changed, 0 insertions, 0 deletions