llvm-project/llvm/lib/Transforms
David Bolvansky ff0ad3c43d [InstCombine] mempcpy(d,s,n) to memcpy(d,s,n) + n
Summary:
Back-end currently expands mempcpy, but middle-end should work with memcpy instead of mempcpy to enable more memcpy-optimization.

GCC backend emits mempcpy, so LLVM backend could form it too, if we know mempcpy libcall is better than memcpy + n.
https://godbolt.org/z/dOCG96

Reviewers: efriedma, spatel, craig.topper, RKSimon, jdoerfert

Reviewed By: efriedma

Subscribers: hjl.tools, llvm-commits

Tags: #llvm

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

llvm-svn: 370593
2019-08-31 18:19:05 +00:00
..
AggressiveInstCombine Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Coroutines [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Hello Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IPO [SampleFDO] Add profile symbol list section to discriminate function being 2019-08-31 02:27:26 +00:00
InstCombine [InstCombine][AMDGPU] Simplify tbuffer loads 2019-08-30 14:20:04 +00:00
Instrumentation [ASan] Make insertion of version mismatch guard configurable 2019-08-28 20:40:55 +00:00
ObjCARC [ObjC][ARC] Delete ObjC runtime calls on global variables annotated 2019-06-14 22:06:32 +00:00
Scalar [CVP] Generate simpler code for elided with.overflow intrinsics 2019-08-31 09:58:37 +00:00
Utils [InstCombine] mempcpy(d,s,n) to memcpy(d,s,n) + n 2019-08-31 18:19:05 +00:00
Vectorize Fix cppcheck shadow variable and variable scope warnings. NFCI. 2019-08-31 12:30:19 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00