[PATCH] D37648: [SLPVectorizer] Fix PR21780 Expansion of 256 bit vector loads fails to fold into shuffles
Dinar Temirbulatov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 8 16:08:21 PDT 2017
dtemirbulatov created this revision.
Herald added a subscriber: rengolin.
This is the second part of PR21780 fix, here is part one https://reviews.llvm.org/D37579
This change allows to restore Load, Insert, GEP instructions removed by InstCombine pass. Here I am using intrinsic to keep information in the IR as it was discussed in http://lists.llvm.org/pipermail/llvm-dev/2017-July/115730.html.
Before restoring instructions we have have to check existing instructions for belonging to our basic block, also we check the shuffle mask and all offset, ...
https://reviews.llvm.org/D37648
Files:
include/llvm/IR/Intrinsics.td
include/llvm/Transforms/Vectorize/SLPVectorizer.h
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/pr21780.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37648.114450.patch
Type: text/x-patch
Size: 14471 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170908/50502bbd/attachment.bin>
More information about the llvm-commits
mailing list