aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll
blob: 70f71c22fb8d23c2ee4d76f08f3b5340ba0b8d43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
; 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
}