On Sat, Feb 18, 2017 at 3:45 AM, Jason Merrill <ja...@redhat.com> wrote: > On Fri, Feb 17, 2017 at 6:51 AM, Richard Biener <rguent...@suse.de> wrote: >> >> The following annotates two key wrappers around copy_node in the C++ FE >> with MEM-STAT info (and with CXX_MEM_STAT_INFO this is surprisingly >> easy, without adding _stat variants and macros as we have for the classic >> way from the pre-C++ era). >> >> It also annotates more type building functions in tree.c (all in the >> attempt to get a better idea on where all the types are built for C++ >> sources). >> >> Bootstrapped without --enable-gather-detailed-mem-stats, bootstrapped >> with --enable-gather-detailed-mem-stats and visually inspected the >> improved stats on some example C++ code. >> >> There are still some more functions worth annotating: >> >> tree.c:8239 (build_range_type_1) 840: 0.0% >> 666120: 3.2% >> tree.c:8362 (build_array_type_1) 3024: 0.0% >> 671496: 3.2% >> tree.c:4841 (build_type_attribute_qual_variant) 13776: 0.1% >> 67032: 0.3% >> tree.c:8681 (build_method_type_directly) 41832: 0.3% >> 202944: 1.0% >> hash-table.h:736 (expand) 15136: 0.1% >> 5826600: 27.8% >> tree.c:8532 (build_function_type) 148344: 1.1% >> 3538080: 16.9% >> cp/lex.c:556 (retrofit_lang_decl) 78628: 0.6% >> 43776: 0.2% >> cp/lex.c:526 (build_lang_decl_loc) 87968: 0.6% >> 260776: 1.2% 3902184: 7.5% 536840: 23.8% 15444 >> >> is it ok if I go forward with this (at this stage, also for C++ >> specifics above?) >> >> Would it be welcome to scrap _stat and the macro wrappings everywhere >> at this stage? > > The patch looks fine to me, I don't have an opinion about > appropriateness for this stage.
Re-bootstrapped / tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. > Jason