summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/DeadStoreElimination/simple.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-11-30 01:05:07 +0000
committerChris Lattner <sabre@nondot.org>2010-11-30 01:05:07 +0000
commit7578d0df51e5eb33c361b2fd1ea36394b68f50f7 (patch)
treec2971eacbd04a732571aa384cb0065455eceba02 /llvm/test/Transforms/DeadStoreElimination/simple.ll
parent43e3a98675f1c9110aae2dc5a91d77a5c7c9573c (diff)
downloadbcm5719-llvm-7578d0df51e5eb33c361b2fd1ea36394b68f50f7.tar.gz
bcm5719-llvm-7578d0df51e5eb33c361b2fd1ea36394b68f50f7.zip
I already merged partial-overwrite.ll -> PartialStore.ll
Merge context-sensitive.ll -> simple.ll and upgrade it. llvm-svn: 120374
Diffstat (limited to 'llvm/test/Transforms/DeadStoreElimination/simple.ll')
-rw-r--r--llvm/test/Transforms/DeadStoreElimination/simple.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/DeadStoreElimination/simple.ll b/llvm/test/Transforms/DeadStoreElimination/simple.ll
index 2f45a3e9236..abaff304f62 100644
--- a/llvm/test/Transforms/DeadStoreElimination/simple.ll
+++ b/llvm/test/Transforms/DeadStoreElimination/simple.ll
@@ -145,3 +145,23 @@ define void @test12({ i32, i32 }* %x) nounwind {
; CHECK: ret void
}
+
+; %P doesn't escape, the DEAD instructions should be removed.
+declare void @test13f()
+define i32* @test13() {
+ %p = tail call i8* @malloc(i32 4)
+ %P = bitcast i8* %p to i32*
+ %DEAD = load i32* %P
+ %DEAD2 = add i32 %DEAD, 1
+ store i32 %DEAD2, i32* %P
+ call void @test13f( )
+ store i32 0, i32* %P
+ ret i32* %P
+; CHECK: @test13()
+; CHECK-NEXT: malloc
+; CHECK-NEXT: bitcast
+; CHECK-NEXT: call void
+}
+
+declare noalias i8* @malloc(i32)
+
OpenPOWER on IntegriCloud