aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/Andersens/basictest.ll
blob: 87d5d1ec9800ed6602f4970afee565462b6add1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
; RUN: opt %s -anders-aa -aa-eval 2>/dev/null

define void @test1() {
	%X = malloc i32*
	%Y = malloc i32
	%Z = ptrtoint i32* %Y to i32
	%W = inttoptr i32 %Z to i32*
	store i32* %W, i32** %X
	ret void
}

define void @test2(i32* %P) {
	%X = malloc i32*
	%Y = malloc i32
	store i32* %P, i32** %X
	ret void
}

define internal i32 *@test3(i32* %P) {
	ret i32* %P
}

define void @test4() {
	%X = malloc i32
	%Y = call i32* @test3(i32* %X)
	%ZZ = getelementptr i32* null, i32 17
	ret void
}