[PATCH] D29308: [PM] Hook the instrumented PGO machinery in the new PM

Davide Italiano via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 14:33:01 PST 2017


davide created this revision.

This is the required plumbing to add PGO to the new PM (which allows to test the changes to make the inliner profile-aware).
As long as several of us are interested in this, I decided to share it early (in the hope to save to somebody some boring typing).
I'll upload the clang bits soon, but I have some comments.

1. The default threshold for the inliner run used to be a tunable. I just hardcoded the value of the cl::opt. If people think it's valuable to thread this from the frontend down to the optimizer, happy to (but I wouldn't keep the cl::opt around). My take is that this option shouldn't be exposed.
2. There seems to be a comment about the hint threshold of the inliner. I blatantly cargo culted that from the old PM, but maybe should be removed ? (or we should get around to do the required performance testing to tune it)

Thanks!


https://reviews.llvm.org/D29308

Files:
  include/llvm/Passes/PassBuilder.h
  lib/Passes/PassBuilder.cpp
  test/Other/new-pm-defaults.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29308.86349.patch
Type: text/x-patch
Size: 4130 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170130/e199e1da/attachment.bin>


More information about the llvm-commits mailing list