[PATCH] D36288: Use profile summary to disable peeling for huge working sets
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 3 14:27:21 PDT 2017
tejohnson created this revision.
Herald added subscribers: eraman, mzolotukhin, mehdi_amini.
Detect when the working set size of a profiled application is huge,
by comparing the number of counts required to reach the hot percentile
in the profile summary to a large threshold*.
When the working set size is determined to be huge, disable peeling
to avoid bloating the working set further.
*Note that the selected threshold (15K) is significantly larger than the
largest working set value in SPEC cpu2006 (which is gcc at around 11K).
https://reviews.llvm.org/D36288
Files:
include/llvm/Analysis/ProfileSummaryInfo.h
lib/Analysis/ProfileSummaryInfo.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
test/Other/new-pm-defaults.ll
test/Other/new-pm-thinlto-defaults.ll
test/Transforms/LoopUnroll/peel-loop-pgo.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36288.109636.patch
Type: text/x-patch
Size: 11822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170803/660c4866/attachment.bin>
More information about the llvm-commits
mailing list