diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-04-12 06:54:51 +0200 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-05-15 18:33:58 +0200 |
| commit | cdf306bbb0efccfe9c75d9042b40452478d2e06e (patch) | |
| tree | 12b0281c8080d921e90f5915dcd7c321a5d3dd70 | |
| parent | 85e298bdb392e959566856f88c89b7ffdb1ca034 (diff) | |
| download | sparse-dev-cdf306bbb0efccfe9c75d9042b40452478d2e06e.tar.gz | |
use -fmem-report to report allocation stats
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
| -rw-r--r-- | lib.h | 1 | ||||
| -rw-r--r-- | sparse-llvm.c | 1 | ||||
| -rw-r--r-- | sparse.1 | 5 | ||||
| -rw-r--r-- | sparse.c | 2 | ||||
| -rw-r--r-- | stats.c | 6 | ||||
| -rw-r--r-- | test-linearize.c | 2 | ||||
| -rw-r--r-- | test-unssa.c | 1 |
7 files changed, 18 insertions, 0 deletions
@@ -147,6 +147,7 @@ extern struct symbol_list *sparse_initialize(int argc, char **argv, struct strin extern struct symbol_list *__sparse(char *filename); extern struct symbol_list *sparse_keep_tokens(char *filename); extern struct symbol_list *sparse(char *filename); +extern void report_stats(void); static inline int symbol_list_size(struct symbol_list *list) { diff --git a/sparse-llvm.c b/sparse-llvm.c index 9f362b3e..29fb65f1 100644 --- a/sparse-llvm.c +++ b/sparse-llvm.c @@ -1166,5 +1166,6 @@ int main(int argc, char **argv) LLVMDisposeModule(module); + report_stats(); return 0; } @@ -344,6 +344,11 @@ Look for system headers in the multiarch subdirectory \fIdir\fR. The \fIdir\fR name would normally take the form of the target's normalized GNU triplet. (e.g. i386-linux-gnu). . +.SH DEBUG OPTIONS +.TP +.B \-fmem-report +Report some statistics about memory allocation used by the tool. +. .SH OTHER OPTIONS .TP .B \-ftabstop=WIDTH @@ -302,5 +302,7 @@ int main(int argc, char **argv) FOR_EACH_PTR_NOTAG(filelist, file) { check_symbols(sparse(file)); } END_FOR_EACH_PTR_NOTAG(file); + + report_stats(); return 0; } @@ -54,3 +54,9 @@ void show_allocation_stats(void) show_stats(NULL, &tot); } + +void report_stats(void) +{ + if (fmem_report) + show_allocation_stats(); +} diff --git a/test-linearize.c b/test-linearize.c index dd2eaeca..fe0673be 100644 --- a/test-linearize.c +++ b/test-linearize.c @@ -61,5 +61,7 @@ int main(int argc, char **argv) FOR_EACH_PTR_NOTAG(filelist, file) { clean_up_symbols(sparse(file)); } END_FOR_EACH_PTR_NOTAG(file); + + report_stats(); return 0; } diff --git a/test-unssa.c b/test-unssa.c index f7a5c3a1..240d9960 100644 --- a/test-unssa.c +++ b/test-unssa.c @@ -82,5 +82,6 @@ int main(int argc, char **argv) compile(sparse(file)); } END_FOR_EACH_PTR_NOTAG(file); + report_stats(); return 0; } |
