[PATCH] D12770: [LV] Relax Small Size Reduction Type Requirement

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 10 12:08:06 PDT 2015


mssimpso created this revision.
mssimpso added reviewers: jmolloy, hfinkel.
mssimpso added subscribers: llvm-commits, mcrosier.

This patch enables small size reductions in which the source types are smaller
than the reduction type (e.g., computing an i16 sum from the values in an i8
array). The previous behavior was to only allow small size reductions if the
source types and reduction type were the same. The change accounts for the fact
that the existing sign- and zero-extend instructions in these cases, should
still be included in the cost model.

http://reviews.llvm.org/D12770

Files:
  lib/Transforms/Utils/LoopUtils.cpp
  test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12770.34473.patch
Type: text/x-patch
Size: 5168 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150910/c66c8b4a/attachment.bin>


More information about the llvm-commits mailing list