diff mbox series

C++ PATCH to kill cxx_print_statistics

Message ID 20180201115105.GS2620@redhat.com
State New
Headers show
Series C++ PATCH to kill cxx_print_statistics | expand

Commit Message

Marek Polacek Feb. 1, 2018, 11:51 a.m. UTC
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  <polacek@redhat.com>

	* 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.


	Marek

Comments

Nathan Sidwell Feb. 1, 2018, 12:25 p.m. UTC | #1
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  <polacek@redhat.com>
> 
> 	* 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
Jason Merrill Feb. 1, 2018, 2:20 p.m. UTC | #2
On Thu, Feb 1, 2018 at 7:25 AM, Nathan Sidwell <nathan@acm.org> 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  <polacek@redhat.com>
>>
>>         * 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
diff mbox series

Patch

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",