[CodeGen] Allow mempcy/memset to generate small overlapping stores.
authorClement Courbet <courbet@google.com>
Tue, 11 Dec 2018 13:15:56 +0000 (13:15 +0000)
committerClement Courbet <courbet@google.com>
Tue, 11 Dec 2018 13:15:56 +0000 (13:15 +0000)
commit93b344577077b9fcaddac273a5544c850f4dee12
tree19ea450e6d0af0e16e7bf3480af4ffef165c8156
parent4b59a1fe29e1336937f9869f24dac293f7c61891
[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: 348843
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/test/CodeGen/AArch64/arm64-memcpy-inline.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