; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub | |
; BasicAA was incorrectly concluding that P1 and P2 didn't conflict! | |
int %test(int *%Ptr, long %V) { | |
%P2 = getelementptr int* %Ptr, long 1 | |
%P1 = getelementptr int* %Ptr, long %V | |
%X = load int* %P1 | |
store int 5, int* %P2 | |
%Y = load int* %P1 | |
%Z = sub int %X, %Y | |
ret int %Z | |
} |