[PATCH] D20763: [DAG] Improve legalization of INSERT_SUBVECTOR to avoid spilling

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Fri May 27 18:14:10 PDT 2016


mkuper created this revision.
mkuper added reviewers: bkramer, wmi.
mkuper added a subscriber: llvm-commits.

Instead of always spilling the vector and then performing the insert in-memory, when possible, insert directly into the correct half of the newly-split vector.

Unfortunately, aside from the SAD test, this doesn't really seem to get hit, and I'm not sure how to construct a test-case for the high lanes. One alternative is to make this safer by only inserting directly when Idx is 0 (this tested, and probably the common case). Let me know if you think that would be better.

http://reviews.llvm.org/D20763

Files:
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  test/CodeGen/X86/sad.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20763.58872.patch
Type: text/x-patch
Size: 13509 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160528/62e3a539/attachment.bin>


More information about the llvm-commits mailing list