[CodeGen][ExpandMemcmp] Add an option for allowing overlapping loads.
authorClement Courbet <courbet@google.com>
Thu, 20 Dec 2018 09:13:47 +0000 (09:13 +0000)
committerClement Courbet <courbet@google.com>
Thu, 20 Dec 2018 09:13:47 +0000 (09:13 +0000)
commit1bb6e1b0f23ddd697a3d668cade8a9ba0750601a
tree50e8546ecb6e9f8354f91a4900259e42dbc3c59a
parentd3bd614856e18582fc2939f5937dd4d8a726ed69
[CodeGen][ExpandMemcmp] Add an option for allowing overlapping loads.

Summary:
This allows expanding {7,11,13,14,15,21,22,23,25,26,27,28,29,30,31}-byte memcmp
in just two loads on X86. These were previously calling memcmp.

Reviewers: spatel, gchatelet

Subscribers: llvm-commits

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

llvm-svn: 349731
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/lib/CodeGen/ExpandMemCmp.cpp
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/CodeGen/X86/memcmp-optsize.ll
llvm/test/CodeGen/X86/memcmp.ll
llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll