aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-03-03 23:27:15 +0000
committerChris Lattner <sabre@nondot.org>2003-03-03 23:27:15 +0000
commit1e6233af96267e322426b516cf23959f91235c97 (patch)
treeb37e3148a9c15a37f4e35b54aa93d047d1528757
parent3475ed024efe313e1424817ad196ff01a83acce8 (diff)
Make the testcase more interesting, test that two different array elements don't alias
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5689 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis/BasicAA/licmtest.ll18
-rw-r--r--test/Transforms/BasicAA/licmtest.ll18
2 files changed, 36 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/licmtest.ll b/test/Analysis/BasicAA/licmtest.ll
index d838e6cb60..585ac17ae9 100644
--- a/test/Analysis/BasicAA/licmtest.ll
+++ b/test/Analysis/BasicAA/licmtest.ll
@@ -10,6 +10,7 @@
%A = global int 7
%B = global int 8
+%C = global [2 x int ] [ int 4, int 8 ]
implementation
int %test(bool %c) {
@@ -25,3 +26,20 @@ Out:
ret int %X
}
+int %test2(bool %c) {
+ br label %Loop
+Loop:
+ %AVal = load int* %A
+ %C0 = getelementptr [2 x int ]* %C, long 0, long 0
+ store int %AVal, int* %C0 ; Store cannot alias %A
+
+ %BVal = load int* %B
+ %C1 = getelementptr [2 x int ]* %C, long 0, long 1
+ store int %BVal, int* %C1 ; Store cannot alias %A, %B, or %C0
+
+ br bool %c, label %Out, label %Loop
+Out:
+ %X = sub int %AVal, %BVal
+ ret int %X
+}
+
diff --git a/test/Transforms/BasicAA/licmtest.ll b/test/Transforms/BasicAA/licmtest.ll
index d838e6cb60..585ac17ae9 100644
--- a/test/Transforms/BasicAA/licmtest.ll
+++ b/test/Transforms/BasicAA/licmtest.ll
@@ -10,6 +10,7 @@
%A = global int 7
%B = global int 8
+%C = global [2 x int ] [ int 4, int 8 ]
implementation
int %test(bool %c) {
@@ -25,3 +26,20 @@ Out:
ret int %X
}
+int %test2(bool %c) {
+ br label %Loop
+Loop:
+ %AVal = load int* %A
+ %C0 = getelementptr [2 x int ]* %C, long 0, long 0
+ store int %AVal, int* %C0 ; Store cannot alias %A
+
+ %BVal = load int* %B
+ %C1 = getelementptr [2 x int ]* %C, long 0, long 1
+ store int %BVal, int* %C1 ; Store cannot alias %A, %B, or %C0
+
+ br bool %c, label %Out, label %Loop
+Out:
+ %X = sub int %AVal, %BVal
+ ret int %X
+}
+