[PATCH] D53760: [SelectionDAG] Add FoldBUILD_VECTOR to simplify new BUILD_VECTOR nodes

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 26 06:39:52 PDT 2018


RKSimon created this revision.
RKSimon added reviewers: spatel, efriedma, majnemer, arsenm.
Herald added subscribers: tpr, nhaehnle, wdng, jvesely.

Similar to FoldCONCAT_VECTORS, this patch adds FoldBUILD_VECTOR to simplify cases that can avoid the creation of the BUILD_VECTOR - if all the operands are UNDEF or if the BUILD_VECTOR simplifies to a copy.

This exposed an assumption in some AMDGPU code that getBuildVector was guaranteed to be a BUILD_VECTOR node that I've tried to handle.


Repository:
  rL LLVM

https://reviews.llvm.org/D53760

Files:
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/Target/AMDGPU/R600ISelLowering.cpp
  test/CodeGen/AMDGPU/load-local-i16.ll
  test/CodeGen/X86/clear_upper_vector_element_bits.ll
  test/CodeGen/X86/lower-vec-shift.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53760.171294.patch
Type: text/x-patch
Size: 18008 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181026/617061ed/attachment-0001.bin>


More information about the llvm-commits mailing list