Re: C++ PATCH to kill cxx_print_statistics

2018-02-01 Thread Jason Merrill
On Thu, Feb 1, 2018 at 7:25 AM, Nathan Sidwell  wrote:
> On 02/01/2018 06:51 AM, Marek Polacek wrote:
>>
>> Does any of you use print_class_statistics?
>>
>> It seems most of these variables were set-but-unused even in gcc-2.95 (!).  
>> So
>> I think we can safely 86 all of this.  Or is the "n_vtables" info interesting
>> in any way?
>>
>> Bootstrapped/regtested on x86_64-linux, ok for trunk?
>>
>> 2018-02-01  Marek Polacek  
>>
>> * class.c: Remove unused global variables.
>> (build_primary_vtable): Don't gather statistics.
>> (print_class_statistics): Remove.
>> * cp-tree.h (print_class_statistics): Remove.
>> * tree.c (cxx_print_statistics): Don't call
>> print_class_statistics.
>
> I find no use for it.

I've never used it.

Jason


Re: C++ PATCH to kill cxx_print_statistics

2018-02-01 Thread Nathan Sidwell

On 02/01/2018 06:51 AM, Marek Polacek wrote:

Does any of you use print_class_statistics?

It seems most of these variables were set-but-unused even in gcc-2.95 (!).  So
I think we can safely 86 all of this.  Or is the "n_vtables" info interesting
in any way?

Bootstrapped/regtested on x86_64-linux, ok for trunk?

2018-02-01  Marek Polacek  

* class.c: Remove unused global variables.
(build_primary_vtable): Don't gather statistics.
(print_class_statistics): Remove.
* cp-tree.h (print_class_statistics): Remove.
* tree.c (cxx_print_statistics): Don't call print_class_statistics.


I find no use for it.

nathan

--
Nathan Sidwell


C++ PATCH to kill cxx_print_statistics

2018-02-01 Thread Marek Polacek
Does any of you use print_class_statistics?

It seems most of these variables were set-but-unused even in gcc-2.95 (!).  So
I think we can safely 86 all of this.  Or is the "n_vtables" info interesting
in any way?

Bootstrapped/regtested on x86_64-linux, ok for trunk?

2018-02-01  Marek Polacek  

* class.c: Remove unused global variables.
(build_primary_vtable): Don't gather statistics.
(print_class_statistics): Remove.
* cp-tree.h (print_class_statistics): Remove.
* tree.c (cxx_print_statistics): Don't call print_class_statistics.

diff --git gcc/cp/class.c gcc/cp/class.c
index 4103630231a..7b2afc14dbe 100644
--- gcc/cp/class.c
+++ gcc/cp/class.c
@@ -215,16 +215,6 @@ static tree end_of_base (tree);
 static tree get_vcall_index (tree, tree);
 static bool type_maybe_constexpr_default_constructor (tree);
 
-/* Variables shared between class.c and call.c.  */
-
-int n_vtables = 0;
-int n_vtable_entries = 0;
-int n_vtable_searches = 0;
-int n_vtable_elems = 0;
-int n_convert_harshness = 0;
-int n_compute_conversion_costs = 0;
-int n_inner_fields_searched = 0;
-
 /* Return a COND_EXPR that executes TRUE_STMT if this execution of the
'structor is in charge of 'structing virtual bases, or FALSE_STMT
otherwise.  */
@@ -892,12 +882,6 @@ build_primary_vtable (tree binfo, tree type)
   virtuals = NULL_TREE;
 }
 
-  if (GATHER_STATISTICS)
-{
-  n_vtables += 1;
-  n_vtable_elems += list_length (virtuals);
-}
-
   /* Initialize the association list for this type, based
  on our first approximation.  */
   BINFO_VTABLE (TYPE_BINFO (type)) = decl;
@@ -8118,23 +8102,6 @@ get_vfield_name (tree type)
   return get_identifier (buf);
 }
 
-void
-print_class_statistics (void)
-{
-  if (! GATHER_STATISTICS)
-return;
-
-  fprintf (stderr, "convert_harshness = %d\n", n_convert_harshness);
-  fprintf (stderr, "compute_conversion_costs = %d\n", 
n_compute_conversion_costs);
-  if (n_vtables)
-{
-  fprintf (stderr, "vtables = %d; vtable searches = %d\n",
-  n_vtables, n_vtable_searches);
-  fprintf (stderr, "vtable entries = %d; vtable elems = %d\n",
-  n_vtable_entries, n_vtable_elems);
-}
-}
-
 /* Build a dummy reference to ourselves so Derived::Base (and A::A) works,
according to [class]:
  The class-name is also inserted
diff --git gcc/cp/cp-tree.h gcc/cp/cp-tree.h
index 8983674881d..c7d42d3d76f 100644
--- gcc/cp/cp-tree.h
+++ gcc/cp/cp-tree.h
@@ -6036,7 +6036,6 @@ extern int current_lang_depth (void);
 extern void push_lang_context  (tree);
 extern void pop_lang_context   (void);
 extern tree instantiate_type   (tree, tree, tsubst_flags_t);
-extern void print_class_statistics (void);
 extern void build_self_reference   (void);
 extern int same_signature_p(const_tree, const_tree);
 extern void maybe_add_class_template_decl_list (tree, tree, int);
diff --git gcc/cp/tree.c gcc/cp/tree.c
index e87c59659a5..1ab10099780 100644
--- gcc/cp/tree.c
+++ gcc/cp/tree.c
@@ -2831,7 +2831,6 @@ extern int depth_reached;
 void
 cxx_print_statistics (void)
 {
-  print_class_statistics ();
   print_template_statistics ();
   if (GATHER_STATISTICS)
 fprintf (stderr, "maximum template instantiation depth reached: %d\n",

Marek