2009-09-11 18:01:28 +00:00
|
|
|
; RUN: opt < %s -anders-aa -aa-eval 2>/dev/null
|
2004-05-23 21:31:00 +00:00
|
|
|
|
2008-02-14 06:56:27 +00:00
|
|
|
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
|
2004-05-23 21:31:00 +00:00
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
2008-02-14 06:56:27 +00:00
|
|
|
define void @test2(i32* %P) {
|
|
|
|
%X = malloc i32*
|
|
|
|
%Y = malloc i32
|
|
|
|
store i32* %P, i32** %X
|
2004-05-23 21:31:00 +00:00
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
2008-02-14 06:56:27 +00:00
|
|
|
define internal i32 *@test3(i32* %P) {
|
|
|
|
ret i32* %P
|
2004-05-23 21:31:00 +00:00
|
|
|
}
|
|
|
|
|
2008-02-14 06:56:27 +00:00
|
|
|
define void @test4() {
|
|
|
|
%X = malloc i32
|
|
|
|
%Y = call i32* @test3(i32* %X)
|
|
|
|
%ZZ = getelementptr i32* null, i32 17
|
2004-05-23 21:31:00 +00:00
|
|
|
ret void
|
|
|
|
}
|