summaryrefslogtreecommitdiff
path: root/test/Transforms/DeadStoreElimination
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-11-28 21:27:49 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-11-28 21:27:49 +0000
commitd801c10de6cd1760f0994452c0e78156782d9fca (patch)
tree61376d8c37a73473ed3f5ee5124316ffe845870a /test/Transforms/DeadStoreElimination
parent0c264b16b0e8a373888d1a5cfeb90af4fda3cd14 (diff)
downloadllvm-d801c10de6cd1760f0994452c0e78156782d9fca.tar.gz
llvm-d801c10de6cd1760f0994452c0e78156782d9fca.tar.bz2
llvm-d801c10de6cd1760f0994452c0e78156782d9fca.tar.xz
Teach memdep to look for memory use intrinsics during dependency queries. Fixes
PR5574. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90045 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/DeadStoreElimination')
-rw-r--r--test/Transforms/DeadStoreElimination/lifetime.ll20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/Transforms/DeadStoreElimination/lifetime.ll b/test/Transforms/DeadStoreElimination/lifetime.ll
index b2da790db2..fd127d9f51 100644
--- a/test/Transforms/DeadStoreElimination/lifetime.ll
+++ b/test/Transforms/DeadStoreElimination/lifetime.ll
@@ -1,6 +1,9 @@
; RUN: opt -S -dse < %s | FileCheck %s
-declare void @llvm.lifetime.end(i64, i8*)
+target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
+
+declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind
+declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind
declare void @llvm.memset.i8(i8*, i8, i8, i32)
define void @test1() {
@@ -17,3 +20,18 @@ define void @test1() {
ret void
; CHECK: ret void
}
+
+define void @test2(i32* %P) {
+; CHECK: test2
+ %Q = getelementptr i32* %P, i32 1
+ %R = bitcast i32* %Q to i8*
+ call void @llvm.lifetime.start(i64 4, i8* %R)
+; CHECK: lifetime.start
+ store i32 0, i32* %Q ;; This store is dead.
+; CHECK-NOT: store
+ call void @llvm.lifetime.end(i64 4, i8* %R)
+; CHECK: lifetime.end
+ ret void
+}
+
+