[PATCH] D15828: [PGO] Passmanagerbuilder change that enable IR level PGO instrumentation

Rong Xu via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 30 13:46:01 PST 2015


xur created this revision.
xur added reviewers: davidxl, silvas, bogner.
xur added a subscriber: llvm-commits.
Herald added a subscriber: joker.eph.

This patch includes the passmanagerbuilder change that enables IR level PGO instrumentation. It adds two passmanagerbuilder options:
  -profile-generate=<profile_filename>
  -profile-use=<profile_filename>
which is primary for debug purpose (or called directly from opt).

It adds two fields in class PassManagerBuilder:
std::string PGOInstrGen
std::string PGOInstrUse
which specifies profile name for generation and use passes, respectively.

In PassManagerBuilder::populateModulePassManager(), it adds a preinstrumenation inline pass if IR level instrumentation is enabled. It then calls the profile generation or use pass as the option specified.

http://reviews.llvm.org/D15828

Files:
  include/llvm/Transforms/IPO/PassManagerBuilder.h
  lib/Transforms/IPO/LLVMBuild.txt
  lib/Transforms/IPO/PassManagerBuilder.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15828.43803.patch
Type: text/x-patch
Size: 4896 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151230/3cde67ed/attachment.bin>


More information about the llvm-commits mailing list