This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Modify memcpy datasize in memcpy loop expansion
AbandonedPublic

Authored by bnemanich on Nov 3 2017, 1:03 PM.

Details

Reviewers
hfinkel
sfertile
Summary

This is a revision of patch D31772 , which depends on patch D31772.

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.

Diff Detail

Event Timeline

bnemanich created this revision.Nov 3 2017, 1:03 PM
bnemanich edited the summary of this revision. (Show Details)Nov 3 2017, 1:08 PM
bnemanich abandoned this revision.Nov 3 2017, 2:26 PM