aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/malloc2.ll
diff options
context:
space:
mode:
authorVictor Hernandez <vhernandez@apple.com>2009-10-21 19:11:40 +0000
committerVictor Hernandez <vhernandez@apple.com>2009-10-21 19:11:40 +0000
commit68afa54033eccda0f55e920cb548588e71a45418 (patch)
treea8c1c6300819ecbde4ff9cdc64e7b72ae0f370a5 /test/Transforms/InstCombine/malloc2.ll
parentb27b51aaa6602a2062ab0f778b87628fb70e0a0b (diff)
downloadexternal_llvm-68afa54033eccda0f55e920cb548588e71a45418.zip
external_llvm-68afa54033eccda0f55e920cb548588e71a45418.tar.gz
external_llvm-68afa54033eccda0f55e920cb548588e71a45418.tar.bz2
Make changes to rev 84292 as requested by Chris Lattner.
Most changes are cleanup, but there is 1 correctness fix: I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/malloc2.ll')
-rw-r--r--test/Transforms/InstCombine/malloc2.ll6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/Transforms/InstCombine/malloc2.ll b/test/Transforms/InstCombine/malloc2.ll
index cc1506b..8462dac 100644
--- a/test/Transforms/InstCombine/malloc2.ll
+++ b/test/Transforms/InstCombine/malloc2.ll
@@ -1,18 +1,22 @@
-; RUN: opt < %s -instcombine -S | grep {ret i32 0}
+; RUN: opt < %s -instcombine -S | FileCheck %s
; PR1313
define i32 @test1(i32 %argc, i8* %argv, i8* %envp) {
%tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1]
+; CHECK-NOT: call i8* @malloc
%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
+; CHECK: ret i32 0
}
define i32 @test2(i32 %argc, i8* %argv, i8* %envp) {
%tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1]
+; CHECK-NOT: call i8* @malloc
%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
+; CHECK: ret i32 1
}