[PATCH] [DAGCombiner] Combine shuffles of BUILD_VECTOR and SCALAR_TO_VECTOR
Simon Pilgrim
llvm-dev at redking.me.uk
Sun Mar 22 07:10:56 PDT 2015
Hi qcolombet, chandlerc, andreadb, spatel,
This patch attempts to optimize the shuffling of 'scalar source' inputs - BUILD_VECTOR and SCALAR_TO_VECTOR nodes. This folds away a lot of unnecessary shuffle nodes, and allows quite a bit of constant folding that was being missed.
At the moment the inputs are only combined if they are only being used once - I'm interested in extending this so that constant inputs are always combined. It would create more constant data but would remove more shuffles (which may be introducing their own constant data for masks anyhow). Comments please.
Also removed a x86 insertps test that was testing for the old shuffle lowering system.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D8516
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AArch64/arm64-neon-copy.ll
test/CodeGen/AArch64/arm64-vshuffle.ll
test/CodeGen/PowerPC/vperm-lowering.ll
test/CodeGen/X86/mmx-bitcast.ll
test/CodeGen/X86/sse41.ll
test/CodeGen/X86/vec_insert-5.ll
test/CodeGen/X86/vec_insert-mmx.ll
test/CodeGen/X86/vec_zero_cse.ll
test/CodeGen/X86/vector-shuffle-128-v16.ll
test/CodeGen/X86/vector-shuffle-128-v8.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8516.22419.patch
Type: text/x-patch
Size: 38484 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150322/5252d2b4/attachment.bin>
More information about the llvm-commits
mailing list