; RUN: opt < %s -basicaa -gvn -instcombine |\ ; RUN: llvm-dis | grep {load i32\\* %A} declare double* @useit(i32*) define i32 @foo(i32 %Amt) { %A = malloc i32, i32 %Amt %P = call double* @useit(i32* %A) %X = load i32* %A store double 0.0, double* %P %Y = load i32* %A %Z = sub i32 %X, %Y ret i32 %Z }