[PATCH] D32872: [PowerPC] Leverage PGO data to version/expand small/large memcpy calls
Brad Nemanich via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 3 14:26:24 PDT 2017
bnemanich updated this revision to Diff 121554.
bnemanich added a comment.
Turns on memcpy loop expansion optimization by default for PowerPC.
Turns off memcpy loop expansion for unknown sized memcpy calls but provides a new option to enable expansion for unknown sized memcpy calls.
Also provides a new option to enable expansion for unknown sized memcpy calls for non-pgo runs.
Changes the loop datasize to be 32 bytes.
Micro-benchmarks have shown that this optimization can more than double the performance for known size memcpy calls that are smaller than 512 bytes on Power8 machines.
https://reviews.llvm.org/D32872
Files:
lib/Target/PowerPC/PPCLowerMemIntrinsics.cpp
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
lib/Transforms/Utils/LowerMemIntrinsics.cpp
test/CodeGen/PowerPC/memcpy-loop-expansion.ll
test/CodeGen/PowerPC/memcpy.nopgo.ll
test/CodeGen/PowerPC/memcpy.pgo.cold.ll
test/CodeGen/PowerPC/memcpy.pgo.hot.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32872.121554.patch
Type: text/x-patch
Size: 36660 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171103/eb69d890/attachment.bin>
More information about the llvm-commits
mailing list