[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