[PATCH] D30715: [LV] A unified scalarizeInstruction() for Vectorizer and Unroller

Gil Rapaport via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 7 13:35:43 PST 2017


gilr created this revision.
Herald added a subscriber: mzolotukhin.

Unroller's specialized scalarizeInstruction() is mostly duplicating Vectorizer's variant. OTOH Vectorizer's scalarizeInstruction() already supports the special case of VF==1 except for avoiding mask-bit extraction in that case. This patch removes Unroller's specialized version in favor of a unified method.

The only functional difference between the two variants seems to be setting memcheck metadata for loads and stores only in the Vectorizer's variant, which seems like a bug in Unroller (correct?). To keep this patch an NFC Vecotrizer's variant doesn't set memcheck metadata for VF==1. If memcheck metadata is indeed relevant for Unroller I'll remove the VF == 1 check in a separate patch as a bug fix.

Follows https://reviews.llvm.org/D28975 and its tentative breakdown.

Joint work with Ayal.


https://reviews.llvm.org/D30715

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30715.90910.patch
Type: text/x-patch
Size: 3793 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170307/98dbcce5/attachment.bin>


More information about the llvm-commits mailing list