2009-10-21 19:11:40 +00:00
|
|
|
; RUN: opt < %s -instcombine -S | FileCheck %s
|
2007-04-06 18:56:54 +00:00
|
|
|
; PR1313
|
|
|
|
|
|
|
|
define i32 @test1(i32 %argc, i8* %argv, i8* %envp) {
|
|
|
|
%tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1]
|
2009-10-21 19:11:40 +00:00
|
|
|
; CHECK-NOT: call i8* @malloc
|
2007-04-06 18:56:54 +00:00
|
|
|
%c = icmp eq [2564 x i32]* %tmp15.i.i.i23, null ; <i1>:0 [#uses=1]
|
|
|
|
%retval = zext i1 %c to i32 ; <i32> [#uses=1]
|
|
|
|
ret i32 %retval
|
2009-10-21 19:11:40 +00:00
|
|
|
; CHECK: ret i32 0
|
2007-04-06 18:56:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
define i32 @test2(i32 %argc, i8* %argv, i8* %envp) {
|
|
|
|
%tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1]
|
2009-10-21 19:11:40 +00:00
|
|
|
; CHECK-NOT: call i8* @malloc
|
2007-04-06 18:56:54 +00:00
|
|
|
%X = bitcast [2564 x i32]* %tmp15.i.i.i23 to i32*
|
|
|
|
%c = icmp ne i32* %X, null
|
|
|
|
%retval = zext i1 %c to i32 ; <i32> [#uses=1]
|
|
|
|
ret i32 %retval
|
2009-10-21 19:11:40 +00:00
|
|
|
; CHECK: ret i32 1
|
2007-04-06 18:56:54 +00:00
|
|
|
}
|
|
|
|
|