[PATCH] D20993: [lit] Add support for PGO profile and code coverage collection

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 16:59:51 PDT 2016


vsk created this revision.
vsk added reviewers: beanz, cmatthews, ddunbar.
vsk added a subscriber: llvm-commits.

It'd be nice to collect profiles for opt, clang etc. while running lit tests.

I've attempted to do this by adding an InstrumentedProcess class to lit. This class is almost a drop-in replacement for subprocess.Popen: whenever you execute an InstrumentedProcess, you have the option of gathering/indexing profiles and cleaning up any intermediate raw profiles.

This patch also introduces a utility script which produces a nice build artifact out of the coverage data + merged profiles. The eventual plan is to set up a bot that makes these artifacts available, so that everyone can take a look at source-based coverage reports for llvm/clang/etc.

http://reviews.llvm.org/D20993

Files:
  CMakeLists.txt
  cmake/modules/HandleLLVMOptions.cmake
  test/Unit/lit.site.cfg.in
  test/lit.site.cfg.in
  utils/lit/lit/LitConfig.py
  utils/lit/lit/TestRunner.py
  utils/lit/lit/TestingConfig.py
  utils/lit/lit/formats/base.py
  utils/lit/lit/formats/googletest.py
  utils/lit/lit/util.py
  utils/prepare-code-coverage-artifact.sh

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20993.59641.patch
Type: text/x-patch
Size: 18646 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160603/a2babf08/attachment-0001.bin>


More information about the llvm-commits mailing list