https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90316

--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> ---
It also looks the hash_table<expr_pred_trans_d> hash function is weak judging
from the time spent in the equality routine.

Index: gcc/tree-ssa-pre.c
===================================================================
--- gcc/tree-ssa-pre.c  (revision 271000)
+++ gcc/tree-ssa-pre.c  (working copy)
@@ -4118,6 +4118,12 @@ fini_pre ()
   bitmap_obstack_release (&grand_bitmap_obstack);
   bitmap_set_pool.release ();
   pre_expr_pool.release ();
+  if (dump_file && (dump_flags & TDF_DETAILS))
+    fprintf (dump_file, "phi-translate cache statistics: "
+            "size %ld, %ld elements, %f collisions\n",
+            (long) phi_translate_table->size (),
+            (long) phi_translate_table->elements (),
+            phi_translate_table->collisions ());
   delete phi_translate_table;
   phi_translate_table = NULL;
   delete expression_to_id;

should help verify that if you then do a -fdump-tree-pre-details and look
into the respective generated dump file.

Similar for get_expr_value_id?  But that one should be cheap so I am a bit
confused about this profile graph.

Reply via email to