summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-11-21 07:34:32 +0000
committerChris Lattner <sabre@nondot.org>2010-11-21 07:34:32 +0000
commite48c31ce33d5d033aa9a79f092057d92173a676d (patch)
treec640c676b0ab95a69b4cfd2be27f8228b8d557bb /llvm/test/Transforms
parent6e22221b377b660e63b617950ca6c4bb04f222e8 (diff)
downloadbcm5719-llvm-e48c31ce33d5d033aa9a79f092057d92173a676d.tar.gz
bcm5719-llvm-e48c31ce33d5d033aa9a79f092057d92173a676d.zip
implement PR8576, deleting dead stores with intervening may-alias stores.
llvm-svn: 119927
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/DeadStoreElimination/simple.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/Transforms/DeadStoreElimination/simple.ll b/llvm/test/Transforms/DeadStoreElimination/simple.ll
index f0c140d50a3..0a16603f55d 100644
--- a/llvm/test/Transforms/DeadStoreElimination/simple.ll
+++ b/llvm/test/Transforms/DeadStoreElimination/simple.ll
@@ -11,3 +11,12 @@ define void @test1(i32* %Q, i32* %P) {
; CHECK-NEXT: ret void
}
+; PR8576 - Should delete store of 10 even though p/q are may aliases.
+define void @test2(i32 *%p, i32 *%q) {
+ store i32 10, i32* %p, align 4
+ store i32 20, i32* %q, align 4
+ store i32 30, i32* %p, align 4
+ ret void
+; CHECK: @test2
+; CHECK-NEXT: store i32 20
+}
OpenPOWER on IntegriCloud