From b915e9e0fc85ba6f398b3fab0db6a81a8913af94 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Mon, 2 Jan 2017 19:17:04 +0000 Subject: Vendor import of llvm trunk r290819: https://llvm.org/svn/llvm-project/llvm/trunk@290819 --- .../DeadStoreElimination/OverwriteStoreBegin.ll | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll') diff --git a/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll b/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll index 0bcd8516acd2..1614a529ddd7 100644 --- a/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll +++ b/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll @@ -86,5 +86,23 @@ entry: ret void } +define void @write8To15AndThen0To7(i64* nocapture %P) { +entry: +; CHECK-LABEL: @write8To15AndThen0To7( +; CHECK: [[GEP:%[0-9]+]] = getelementptr inbounds i8, i8* %mybase0, i64 16 +; CHECK: tail call void @llvm.memset.p0i8.i64(i8* [[GEP]], i8 0, i64 16, i32 8, i1 false) + + %base0 = bitcast i64* %P to i8* + %mybase0 = getelementptr inbounds i8, i8* %base0, i64 0 + tail call void @llvm.memset.p0i8.i64(i8* %mybase0, i8 0, i64 32, i32 8, i1 false) + + %base64_0 = getelementptr inbounds i64, i64* %P, i64 0 + %base64_1 = getelementptr inbounds i64, i64* %P, i64 1 + + store i64 1, i64* %base64_1 + store i64 2, i64* %base64_0 + ret void +} + declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind -- cgit v1.3