llvm-mirror/cmake
Daniel Sanders 3cdbf1c980 Make STATISTIC() values available programmatically
Summary:
It can be useful for tools to be able to retrieve the values of variables
declared via STATISTIC() directly without having to emit them and parse
them back. Use cases include:
* Needing to report specific statistics to a test harness
* Wanting to post-process statistics. For example, to produce a percentage of
  functions that were fully selected by GlobalISel

Make this possible by adding llvm::GetStatistics() which returns an
iterator_range that can be used to inspect the statistics that have been
touched during execution. When statistics are disabled (NDEBUG and not
LLVM_ENABLE_STATISTICS) this method will return an empty range.

This patch doesn't address the effect of multiple compilations within the same
process. In such situations, the statistics will be cumulative for all
compilations up to the GetStatistics() call.

Reviewers: qcolombet, rtereshin, aditya_nandakumar, bogner

Reviewed By: rtereshin, bogner

Subscribers: llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D43901

llvm-svn: 326723
2018-03-05 17:41:45 +00:00
..
modules Make STATISTIC() values available programmatically 2018-03-05 17:41:45 +00:00
platforms [cmake] Fix clang-cl cross-compilation on macOS 2017-12-15 01:05:48 +00:00
config-ix.cmake [opt-viewer] Check for pygments.lexer.c_cpp 2018-01-02 17:53:08 +00:00
config.guess Remove Bitrig: LLVM Changes 2017-07-21 22:48:47 +00:00
dummy.cpp
nsis_icon.ico
nsis_logo.bmp
README

See docs/CMake.html for instructions on how to build LLVM with CMake.