Make the testcase more interesting, test that two different array elements don't alias

llvm-svn: 5689
diff --git a/llvm/test/Regression/Transforms/BasicAA/licmtest.ll b/llvm/test/Regression/Transforms/BasicAA/licmtest.ll
index d838e6c..585ac17 100644
--- a/llvm/test/Regression/Transforms/BasicAA/licmtest.ll
+++ b/llvm/test/Regression/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 @@
 	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
+}
+