Auto-upgrade malloc instructions to malloc calls.
[oota-llvm.git] / test / Transforms / InstCombine / malloc2.ll
1 ; RUN: opt < %s -instcombine -S | grep {ret i32 0}
2 ; PR1313
3
4 define i32 @test1(i32 %argc, i8* %argv, i8* %envp) {
5         %tmp15.i.i.i23 = malloc [2564 x i32]            ; <[2564 x i32]*> [#uses=1]
6         %c = icmp eq [2564 x i32]* %tmp15.i.i.i23, null              ; <i1>:0 [#uses=1]
7         %retval = zext i1 %c to i32             ; <i32> [#uses=1]
8         ret i32 %retval
9 }
10
11 define i32 @test2(i32 %argc, i8* %argv, i8* %envp) {
12         %tmp15.i.i.i23 = malloc [2564 x i32]            ; <[2564 x i32]*> [#uses=1]
13         %X = bitcast [2564 x i32]* %tmp15.i.i.i23 to i32*
14         %c = icmp ne i32* %X, null
15         %retval = zext i1 %c to i32             ; <i32> [#uses=1]
16         ret i32 %retval
17 }
18