llvm/test/Analysis/Andersens/basictest.ll
2008-06-10 12:39:15 +00:00

29 lines
496 B
LLVM

; RUN: llvm-as < %s | opt -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
}