aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/DependenceAnalysis/ZIV.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/DependenceAnalysis/ZIV.ll')
-rw-r--r--test/Analysis/DependenceAnalysis/ZIV.ll39
1 files changed, 30 insertions, 9 deletions
diff --git a/test/Analysis/DependenceAnalysis/ZIV.ll b/test/Analysis/DependenceAnalysis/ZIV.ll
index 42b2389..7b004be 100644
--- a/test/Analysis/DependenceAnalysis/ZIV.ll
+++ b/test/Analysis/DependenceAnalysis/ZIV.ll
@@ -5,49 +5,70 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
target triple = "x86_64-apple-macosx10.6.0"
-;; A[n + 1] = ...
-;; ... = A[1 + n];
+;; A[n + 1] = 0;
+;; *B = A[1 + n];
define void @z0(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
%add = add i64 %n, 1
%arrayidx = getelementptr inbounds i32* %A, i64 %add
store i32 0, i32* %arrayidx, align 4
+
+; CHECK: da analyze - consistent output!
+; CHECK: da analyze - consistent flow!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent input!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - confused!
+
%add1 = add i64 %n, 1
%arrayidx2 = getelementptr inbounds i32* %A, i64 %add1
%0 = load i32* %arrayidx2, align 4
-; CHECK: da analyze - consistent flow!
store i32 %0, i32* %B, align 4
ret void
}
-;; A[n] = ...
-;; ... = A[n + 1];
+;; A[n] = 0;
+;; *B = A[n + 1];
define void @z1(i32* %A, i32* %B, i64 %n) nounwind uwtable ssp {
entry:
%arrayidx = getelementptr inbounds i32* %A, i64 %n
store i32 0, i32* %arrayidx, align 4
+
+; CHECK: da analyze - consistent output!
+; CHECK: da analyze - none!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent input!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - confused!
+
%add = add i64 %n, 1
%arrayidx1 = getelementptr inbounds i32* %A, i64 %add
%0 = load i32* %arrayidx1, align 4
-; CHECK: da analyze - none!
store i32 %0, i32* %B, align 4
ret void
}
-;; A[n] = ...
-;; ... = A[m];
+;; A[n] = 0;
+;; *B = A[m];
define void @z2(i32* %A, i32* %B, i64 %n, i64 %m) nounwind uwtable ssp {
entry:
%arrayidx = getelementptr inbounds i32* %A, i64 %n
store i32 0, i32* %arrayidx, align 4
+
+; CHECK: da analyze - consistent output!
+; CHECK: da analyze - flow!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - consistent input!
+; CHECK: da analyze - confused!
+; CHECK: da analyze - confused!
+
%arrayidx1 = getelementptr inbounds i32* %A, i64 %m
%0 = load i32* %arrayidx1, align 4
-; CHECK: da analyze - flow!
store i32 %0, i32* %B, align 4
ret void
}