; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'load int\* %A' declare double* %useit(int*) int %foo(uint %Amt) { %A = malloc int, uint %Amt %P = call double* %useit(int* %A) %X = load int* %A store double 0.0, double* %P %Y = load int* %A %Z = sub int %X, %Y ret int %Z }