summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorAmaury Sechet <deadalnix@gmail.com>2016-01-06 19:47:24 +0000
committerAmaury Sechet <deadalnix@gmail.com>2016-01-06 19:47:24 +0000
commit3235c082531cc25e086f208c3be0dc0c2a4f0944 (patch)
tree75beb3a2a72ad2b175d5d9b151d9794c484f6e7a /llvm/test
parent5fc9f6999d3b29f461b416e06fa09a69e10e9553 (diff)
downloadbcm5719-llvm-3235c082531cc25e086f208c3be0dc0c2a4f0944.tar.gz
bcm5719-llvm-3235c082531cc25e086f208c3be0dc0c2a4f0944.zip
Promote aggregate store to memset when possible
Summary: As per title. This will allow the optimizer to pick up on it. Reviewers: craig.topper, spatel, dexonsmith, Prazek, chandlerc, joker.eph, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15923 llvm-svn: 256969
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll b/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
index 75a1a8f96e2..3c3b22bb335 100644
--- a/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
+++ b/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
@@ -3,7 +3,7 @@
target datalayout = "e-i64:64-f80:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
-%S = type { i8*, i32 }
+%S = type { i8*, i8, i32 }
define void @copy(%S* %src, %S* %dst) {
; CHECK-LABEL: copy
@@ -37,8 +37,10 @@ define void @noaliasdst(%S* %src, %S* noalias %dst) {
define void @destroysrc(%S* %src, %S* %dst) {
; CHECK-LABEL: destroysrc
-; CHECK-NOT: call
-; CHECK: ret void
+; CHECK: load %S, %S* %src
+; CHECK: call void @llvm.memset.p0i8.i64
+; CHECK-NEXT: store %S %1, %S* %dst
+; CHECK-NEXT: ret void
%1 = load %S, %S* %src
store %S zeroinitializer, %S* %src
store %S %1, %S* %dst
@@ -49,7 +51,7 @@ define void @destroynoaliassrc(%S* noalias %src, %S* %dst) {
; CHECK-LABEL: destroynoaliassrc
; CHECK-NOT: load
; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64
-; CHECK-NEXT: store %S zeroinitializer, %S* %src
+; CHECK-NEXT: call void @llvm.memset.p0i8.i64
; CHECK-NEXT: ret void
%1 = load %S, %S* %src
store %S zeroinitializer, %S* %src
OpenPOWER on IntegriCloud