[PATCH] D29399: [X86][SSE] Combine shuffle nodes with multiple uses if all the users are being combined.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 09:40:59 PST 2017


RKSimon created this revision.
Herald added a subscriber: igorb.

Currently we only combine shuffle nodes if they have a single user to prevent us from causing code bloat by splitting the shuffles into several different combines.

We don't take into account that in some cases we will already have combined all the users during recursively calling up the shuffle tree.

This patch keeps a list of all the shuffle nodes that have been combined so far and permits combining of further shuffle nodes if all its users are in that list.


Repository:
  rL LLVM

https://reviews.llvm.org/D29399

Files:
  include/llvm/CodeGen/SelectionDAGNodes.h
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/clear_upper_vector_element_bits.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29399.86653.patch
Type: text/x-patch
Size: 6696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170201/79dc27d4/attachment.bin>


More information about the llvm-commits mailing list