[CodeGen] Allow mempcy/memset to generate small overlapping stores.
authorClement Courbet <courbet@google.com>
Thu, 13 Dec 2018 09:56:19 +0000 (09:56 +0000)
committerClement Courbet <courbet@google.com>
Thu, 13 Dec 2018 09:56:19 +0000 (09:56 +0000)
commit76f4ae109266fae1d17cade097a14216bc10822e
tree25d0590be62d8c00aa7c8ed652d23869ad92a3ae
parenta257639a6935a2c63377784c5c9c3b73864a2582
[CodeGen] Allow mempcy/memset to generate small overlapping stores.

Summary:
All targets either just return false here or properly model `Fast`, so I
don't think there is any reason to prevent CodeGen from doing the right
thing here.

Subscribers: nemanjai, javed.absar, eraman, jsji, llvm-commits

Differential Revision: https://reviews.llvm.org/D55365

llvm-svn: 349016
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/test/CodeGen/AArch64/arm64-memcpy-inline.ll
llvm/test/CodeGen/ARM/memcpy-inline.ll
llvm/test/CodeGen/ARM/memcpy-ldm-stm.ll
llvm/test/CodeGen/PowerPC/jaggedstructs.ll
llvm/test/CodeGen/PowerPC/structsinmem.ll
llvm/test/CodeGen/PowerPC/structsinregs.ll
llvm/test/CodeGen/X86/memcpy-from-string.ll
llvm/test/CodeGen/X86/memset-2.ll
llvm/test/CodeGen/X86/memset-zero.ll
llvm/test/CodeGen/X86/unaligned-load.ll