X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FAnalysis%2FBasicAA%2F2003-02-26-AccessSizeTest.ll;h=45f6088eaf0cf6916e82c9270c7170dc18a7bc74;hb=8b9dc21d6f12a0251cdb6116c2297c13d77073d5;hp=f1458ce905f461a449fc8a4041949ab308ef745c;hpb=2271fddb6da21528edd015fbde8a3da3b7c5df02;p=oota-llvm.git diff --git a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll index f1458ce905f..45f6088eaf0 100644 --- a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll +++ b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll @@ -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 }