]> granicus.if.org Git - llvm/commit
[LV] Fix PR33613 - retain order of insertelement per part
authorAyal Zaks <ayal.zaks@intel.com>
Wed, 28 Jun 2017 17:59:33 +0000 (17:59 +0000)
committerAyal Zaks <ayal.zaks@intel.com>
Wed, 28 Jun 2017 17:59:33 +0000 (17:59 +0000)
commit9a06b5298e58f59c7333ac24562bb31a3bdc95d5
tree634311b4617cf2fb5a0d6e2a74d060b5f9984d1f
parent52cfa7b1fb44f75add64474a687a09bff2ff45c6
[LV] Fix PR33613 - retain order of insertelement per part

r306381 caused PR33613, by reversing the order in which insertelements were
generated per unroll part. This patch fixes PR33613 by retraining this order,
placing each set of insertelements per part immediately after the last scalar
being packed for this part. Includes a test case derived from PR33613.

Reference: https://bugs.llvm.org/show_bug.cgi?id=33613
Differential Revision: https://reviews.llvm.org/D34760

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306575 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/first-order-recurrence.ll