rustc_llvm: Add a -Z print-llvm-stats
option to expose LLVM statistics.
LLVM has a neat [statistics] feature that tracks how often optimizations kick in. It's very handy for optimization work. Since we expose the LLVM pass timings, I thought it made sense to expose the LLVM statistics too. [statistics]: https://llvm.org/docs/ProgrammersManual.html#the-statistic-class-stats-option
This commit is contained in:
parent
55be59d2ce
commit
2d47816cba
10 changed files with 35 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
#include "LLVMWrapper.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/IR/DebugInfoMetadata.h"
|
||||
#include "llvm/IR/DiagnosticHandler.h"
|
||||
#include "llvm/IR/DiagnosticInfo.h"
|
||||
|
@ -116,6 +117,11 @@ extern "C" void LLVMRustPrintPassTimings() {
|
|||
TimerGroup::printAll(OS);
|
||||
}
|
||||
|
||||
extern "C" void LLVMRustPrintStatistics() {
|
||||
raw_fd_ostream OS(2, false); // stderr.
|
||||
llvm::PrintStatistics(OS);
|
||||
}
|
||||
|
||||
extern "C" LLVMValueRef LLVMRustGetNamedValue(LLVMModuleRef M, const char *Name,
|
||||
size_t NameLen) {
|
||||
return wrap(unwrap(M)->getNamedValue(StringRef(Name, NameLen)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue