Fix unchecked uses of DominatorTree in MemoryDependenceAnalysis.
[oota-llvm.git] / test / Analysis / BasicAA / 2003-02-26-AccessSizeTest.ll
index f1458ce905f461a449fc8a4041949ab308ef745c..45f6088eaf0cf6916e82c9270c7170dc18a7bc74 100644 (file)
@@ -2,17 +2,19 @@
 ; is performed.  It is not legal to delete the second load instruction because
 ; the value computed by the first load instruction is changed by the store.
 
-; RUN: as < %s | opt -load-vn -gcse -instcombine | dis | grep DONOTREMOVE
+; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s
 
-int %test() {
-       %A = alloca int
-       store int 0, int* %A
-        %X = load int* %A
-        %B = cast int* %A to sbyte*
-        %C = getelementptr sbyte* %B, long 1
-       store sbyte 1, sbyte* %C    ; Aliases %A
-        %Y.DONOTREMOVE = load int* %A
-       %Z = sub int %X, %Y.DONOTREMOVE
-        ret int %Z
+define i32 @test() {
+; CHECK: %Y.DONOTREMOVE = load i32* %A
+; CHECK: %Z = sub i32 0, %Y.DONOTREMOVE
+  %A = alloca i32
+  store i32 0, i32* %A
+  %X = load i32* %A
+  %B = bitcast i32* %A to i8*
+  %C = getelementptr i8* %B, i64 1
+  store i8 1, i8* %C    ; Aliases %A
+  %Y.DONOTREMOVE = load i32* %A
+  %Z = sub i32 %X, %Y.DONOTREMOVE
+  ret i32 %Z
 }