diff options
author | Florian Hahn <flo@fhahn.com> | 2020-10-28 19:48:20 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2020-10-28 19:48:20 +0000 |
commit | ba78cae20f1467ebba6bd1005ef3e48e1fd96dee (patch) | |
tree | fb265e5d9704fb7880d5bbacd9ca2c24a3ddb414 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | acd7be74ca12f8f08e52d6d80850a9b230109134 (diff) | |
download | llvm-ba78cae20f1467ebba6bd1005ef3e48e1fd96dee.zip llvm-ba78cae20f1467ebba6bd1005ef3e48e1fd96dee.tar.gz llvm-ba78cae20f1467ebba6bd1005ef3e48e1fd96dee.tar.bz2 |
[AArch64] Use DUP for BUILD_VECTOR with few different elements.
If most elements of BUILD_VECTOR are the same, with a few different
elements, it is better to use DUP for the common elements and
INSERT_VECTOR_ELT for the different elements.
Currently this transform is guarded quite restrictively to only trigger
in clearly beneficial cases.
With D90176, the lowering for patterns originating from code like
` float32x4_t y = {a,a,a,0};` (common in 3D apps) are lowered even
better (unnecessary fmov is removed).
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D90233
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions