summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
Commit message (Collapse)AuthorAgeFilesLines
* Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option ↵Sanjay Patel2014-09-101-1/+1
| | | | | | | | | | | names controlling this variable. "Unroll" is not the appropriate name for this variable. Clang already uses the term "interleave" in pragmas and metadata for this. Differential Revision: http://reviews.llvm.org/D5066 llvm-svn: 217528
* When we sink an instruction, this can open up opportunity for the operands ↵Aditya Nandakumar2014-07-111-1/+1
| | | | | | to be sunk - add them to the worklist llvm-svn: 212847
* LoopVectorizer: Add a check that the backedge taken count + 1 does not overflowArnold Schwaighofer2014-05-291-0/+1
| | | | | | | | | | | The loop vectorizer instantiates be-taken-count + 1 as the loop iteration count. If this expression overflows the generated code was invalid. In case of overflow the code now jumps to the scalar loop. Fixes PR17288. llvm-svn: 209854
* LoopVectorizer: Handle strided memory accesses by versioningArnold Schwaighofer2014-01-101-5/+7
| | | | | | | | | | | | | | | for (i = 0; i < N; ++i) A[i * Stride1] += B[i * Stride2]; We take loops like this and check that the symbolic strides 'Strided1/2' are one and drop to the scalar loop if they are not. This is currently disabled by default and hidden behind the flag 'enable-mem-access-versioning'. radar://13075509 llvm-svn: 198950
* Fix missing CHECK-LABELsMatt Arsenault2013-10-021-1/+1
| | | | llvm-svn: 191853
* LoopVectorizer: No need to generate pointer disambiguation checks between ↵Nadav Rotem2013-04-251-0/+36
readonly pointers. llvm-svn: 180570
OpenPOWER on IntegriCloud