[PATCH] D39612: [PowerPC] Modify memcpy datasize in memcpy loop expansion

Brad Nemanich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 3 13:03:54 PDT 2017


bnemanich created this revision.

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/D39612

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: D39612.121528.patch
Type: text/x-patch
Size: 36660 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171103/45b9f91b/attachment.bin>


More information about the llvm-commits mailing list