1. 29 Apr, 2022 1 commit
    • George Wort's avatar
      Make profile-guided optimization of builtins more configurable · 0e127bce
      George Wort authored
      Introduce get_hints.py and combine_hints.py in order to make
      the interpretation of basic block counts into hints more
      configurable and explicit, as well as allowing more accurate
      and consistent methods of combining multiple profiles.
      
      get_hints.py allows for the minimum count and threshold ratio
      values to be easily altered for different profiles, while
      combine_hints.py allows the hints produced from different
      benchmarks and threshold values to be easily and sensibly
      combined.
      
      Simply summing together basic block counts from different
      benchmarks could previously lead to a longer running benchmark
      overshadowing multiple shorter benchmarks with conflicting
      hints.
      
      Allowing alteration of the current threshold values gives a
      doubling of performance, while the new method of combining
      distinct profiles can double the performance improvement of the
      secondary benchmark while losing as little as 4% of the
      improvement gained in the primary benchmark.
      
      Design doc: https://docs.google.com/document/d/1OhwZnIZom47IX0lyceyt-S9i8AApDB0UqJdvQD6NuKQ/edit?usp=sharing
      
      Bug: v8:10470
      Change-Id: I1c09d1eabfdda5ed6794592e2c13ff8b461be361
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3545181Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: George Wort <george.wort@arm.com>
      Cr-Commit-Position: refs/heads/main@{#80282}
      0e127bce