summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopVectorize/runtime-check-readonly.ll
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2014-01-10 18:20:32 +0000
committerArnold Schwaighofer <aschwaighofer@apple.com>2014-01-10 18:20:32 +0000
commitee3f7de62e5616242441a76a8e92260d7b0f10e5 (patch)
treea747ef919609000d0dbfca52d43e1bdcbbc341b3 /test/Transforms/LoopVectorize/runtime-check-readonly.ll
parentdb81071b34eb4f5a9a27b4b5f8d32cc9f989db96 (diff)
downloadllvm-ee3f7de62e5616242441a76a8e92260d7b0f10e5.tar.gz
llvm-ee3f7de62e5616242441a76a8e92260d7b0f10e5.tar.bz2
llvm-ee3f7de62e5616242441a76a8e92260d7b0f10e5.tar.xz
LoopVectorizer: Handle strided memory accesses by versioning
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198950 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopVectorize/runtime-check-readonly.ll')
-rw-r--r--test/Transforms/LoopVectorize/runtime-check-readonly.ll12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/Transforms/LoopVectorize/runtime-check-readonly.ll b/test/Transforms/LoopVectorize/runtime-check-readonly.ll
index a2b9ad94c8..e7b1e2a6b7 100644
--- a/test/Transforms/LoopVectorize/runtime-check-readonly.ll
+++ b/test/Transforms/LoopVectorize/runtime-check-readonly.ll
@@ -7,11 +7,13 @@ target triple = "x86_64-apple-macosx10.8.0"
;CHECK: br
;CHECK: getelementptr
;CHECK-NEXT: getelementptr
-;CHECK-NEXT: icmp uge
-;CHECK-NEXT: icmp uge
-;CHECK-NEXT: icmp uge
-;CHECK-NEXT: icmp uge
-;CHECK-NEXT: and
+;CHECK-DAG: icmp uge
+;CHECK-DAG: icmp uge
+;CHECK-DAG: icmp uge
+;CHECK-DAG: icmp uge
+;CHECK-DAG: and
+;CHECK-DAG: and
+;CHECK: br
;CHECK: ret
define void @add_ints(i32* nocapture %A, i32* nocapture %B, i32* nocapture %C) {
entry: