Go to file
Anna Thomas 00dc1b74b7 [LV] Avoid vectorizing first order recurrence when phi uses are outside loop
In the vectorization of first order recurrence, we vectorize such
that the last element in the vector will be the one extracted to pass into the
scalar remainder loop. However, this is not true when there is a phi (other
than the primary induction variable) is used outside the loop.
In such a case, we need the value from the second last iteration (i.e.
the phi value), not the last iteration (which would be the phi update).
I've added a test case for this. Also see PR32396.

A follow up patch would generate the correct code gen for such cases,
and turn this vectorization on.

Differential Revision: https://reviews.llvm.org/D31910

Reviewers: mssimpso
llvm-svn: 299985
2017-04-11 21:02:00 +00:00
clang [ExternalASTMerger] Removed a move constructor to address MSVC build failure 2017-04-11 20:51:21 +00:00
clang-tools-extra Add the definition of P in the clang tidy example 2017-04-11 16:28:15 +00:00
compiler-rt Implement standalone lsan interceptors for OS X 2017-04-11 20:05:02 +00:00
debuginfo-tests Add an end-to-end testcase for address sanitizer. 2017-04-06 23:36:44 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Implement LWG#2873: 'Add noexcept to several shared_ptr related functions' This issue missed a couple, so I added those as well (see LWG#2942) 2017-04-11 17:08:53 +00:00
libcxxabi [CMake][libcxxabi] Use -nodefaultlibs for CMake checks 2017-04-07 20:10:41 +00:00
libunwind Revert "[CMake][libunwind] Use -nodefaultlibs for CMake checks" 2017-04-07 20:24:22 +00:00
lld [PDB] Emit index/offset pairs for TPI and IPI streams 2017-04-11 16:26:15 +00:00
lldb Add missing annotation to TestDataFormatterUnordered 2017-04-11 12:26:33 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm [LV] Avoid vectorizing first order recurrence when phi uses are outside loop 2017-04-11 21:02:00 +00:00
openmp Test cancellation_for_sections.c expectedly fails on GCC 2017-04-04 14:39:52 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Exploit BasicBlock::getModule to shorten code 2017-04-11 04:59:13 +00:00