On Thu, Jul 27, 2017 at 10:30 AM, <tbsaunde+...@tbsaunde.org> wrote: > From: Trevor Saunders <tbsaunde+...@tbsaunde.org> > > The preC++ way of passing information about the call site of a function was to > use a macro that passed __file__, __LINE__, and __FUNCTION__ to a function > with > the same name with _stat appended to it. The way this is now done with C++ is > to have arguments where the default value is __LINE__, __FILE__, and > __FUNCTION__ in the caller. This has the significant advantage that if you > look for "^function (" you find the correct function, where in the C way of > doing things you need to realize its a macro and check the definition of the > macro to see what to look for next. So this removes a layer of indirection, > and makes things somewhat more consistant in using the C++ way of doing > things. > > patches independently bootstrapped and regtested on ppc64le-linux-gnu. I > successfully ran make all-gcc with --enable-gather-detailed-mem-stats, but > couldn't complete a bootstrap before the series was applied, because the > ddrs_table in tree-loop-distribution.c causes memory statistics gathering to > crash before the series as well as after it. ok?
Thanks! This was on my list of things todo... The series is ok. Did you catch all of MEM_STAT_INFO/ALONE_MEM_STAT_INFO so we can remove the non-C++ way from statistics.h? Richard. > thanks > > Trev > > p.s. the issue with ddrs_table is that it ends up trying to add to the memory > stats hash table from a global constructor when that hash table hasn't yet > been > constructed. > > > Trevor Saunders (19): > use c++ instead of make_node_stat > use c++ instead of _stat for copy_node_stat > use cxx instead of make_tree_binfo_stat > use c++ for make_int_cst_stat > use c++ instead of buildN_stat{,_loc} > use c++ instead of {make,grow}_tree_vec_stat > replace gimple_alloc_stat with c++ > use c++ instead of build_decl_stat > use c++ instead of build_vl_exp_stat > use c++ for tree_cons_stat > remove unused build_var_debug_value prototype > use C++ for {make,build}_vector_stat > use c++ for build_tree_list{,_vec}_stat > replace rtx_alloc_stat with c++ > replace shallow_copy_rtx_stat with c++ > simplify the bitmap alloc_stat functions with c++ > use c++ for bitmap_initialize > use c++ for gimple_build_debug_bind{,_source} > use c++ for fold_buildN_loc > > gcc/bitmap.c | 8 ++-- > gcc/bitmap.h | 17 +++----- > gcc/cp/lex.c | 4 +- > gcc/emit-rtl.c | 2 +- > gcc/fold-const.c | 14 +++---- > gcc/fold-const.h | 24 +++++------- > gcc/fortran/resolve.c | 2 +- > gcc/gengenrtl.c | 2 +- > gcc/gimple.c | 8 ++-- > gcc/gimple.h | 11 ++---- > gcc/rtl.c | 4 +- > gcc/rtl.h | 6 +-- > gcc/tree.c | 62 ++++++++++++++--------------- > gcc/tree.h | 106 > ++++++++++++++++++-------------------------------- > 14 files changed, 109 insertions(+), 161 deletions(-) > > -- > 2.11.0 >