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
+}
+