diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-30 01:05:07 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-30 01:05:07 +0000 |
commit | 7578d0df51e5eb33c361b2fd1ea36394b68f50f7 (patch) | |
tree | c2971eacbd04a732571aa384cb0065455eceba02 /llvm/test/Transforms/DeadStoreElimination/simple.ll | |
parent | 43e3a98675f1c9110aae2dc5a91d77a5c7c9573c (diff) | |
download | bcm5719-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.ll | 20 |
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) + |