[PATCH] [DagCombiner] Generalized BuildVector Vector Concatenation

Simon Pilgrim llvm-dev at redking.me.uk
Sun Feb 22 07:06:06 PST 2015


Hi qcolombet, chandlerc, andreadb,

The CONCAT_VECTORS combiner pass can transform the concat of two BUILD_VECTOR nodes into a single BUILD_VECTOR node.

This patch generalises this to support any number of BUILD_VECTOR nodes, and also permits UNDEF nodes to be included as well.

This was noticed as AVX vec128 -> vec256 canonicalization sometimes creates a CONCAT_VECTOR with a real vec128 lower and an vec128 UNDEF upper (see zext test modifications).

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D7816

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/X86/vector-zext.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7816.20476.patch
Type: text/x-patch
Size: 6462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150222/45199eae/attachment.bin>


More information about the llvm-commits mailing list