aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/DeadStoreElimination
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
commitf6f1f062cc8029aa75ca7d0e99fbc1e0b453d07e (patch)
treeaaeabb940e1abda8247927a5003401bd865f3085 /test/Transforms/DeadStoreElimination
parentb7dfb970e60d0e559f9e27e3914a4cbb8e7be5eb (diff)
implement PR8576, deleting dead stores with intervening may-alias stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119927 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/DeadStoreElimination')
-rw-r--r--test/Transforms/DeadStoreElimination/simple.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Transforms/DeadStoreElimination/simple.ll b/test/Transforms/DeadStoreElimination/simple.ll
index f0c140d50a..0a16603f55 100644
--- a/test/Transforms/DeadStoreElimination/simple.ll
+++ b/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
+}