Hi,
this patch makes ipa-prop to dump info about missing summaries which
is better than just an ICE :)

Bootstrapped/regtested x86_64-linux, comitted.

        * ipa-prop.c (ipa_print_node_jump_functions,
        ipa_print_node_params): Print info about missing summaries.
Index: ipa-prop.c
===================================================================
--- ipa-prop.c  (revision 278094)
+++ ipa-prop.c  (working copy)
@@ -422,20 +422,19 @@ ipa_print_node_jump_functions (FILE *f,
   fprintf (f, "  Jump functions of caller  %s:\n", node->dump_name ());
   for (cs = node->callees; cs; cs = cs->next_callee)
     {
-      if (!ipa_edge_args_info_available_for_edge_p (cs))
-       continue;
 
       fprintf (f, "    callsite  %s -> %s : \n",
               node->dump_name (),
               cs->callee->dump_name ());
-      ipa_print_node_jump_functions_for_edge (f, cs);
+      if (!ipa_edge_args_info_available_for_edge_p (cs))
+       fprintf (f, "       no arg info\n");
+      else
+        ipa_print_node_jump_functions_for_edge (f, cs);
     }
 
   for (cs = node->indirect_calls; cs; cs = cs->next_callee)
     {
       class cgraph_indirect_call_info *ii;
-      if (!ipa_edge_args_info_available_for_edge_p (cs))
-       continue;
 
       ii = cs->indirect_info;
       if (ii->agg_contents)
@@ -459,7 +458,10 @@ ipa_print_node_jump_functions (FILE *f,
        fprintf (f, "\n");
       if (ii->polymorphic)
        ii->context.dump (f);
-      ipa_print_node_jump_functions_for_edge (f, cs);
+      if (!ipa_edge_args_info_available_for_edge_p (cs))
+       fprintf (f, "       no arg info\n");
+      else
+        ipa_print_node_jump_functions_for_edge (f, cs);
     }
 }
 
@@ -4081,6 +4083,11 @@ ipa_print_node_params (FILE *f, struct c
     return;
   info = IPA_NODE_REF (node);
   fprintf (f, "  function  %s parameter descriptors:\n", node->dump_name ());
+  if (!info)
+    {
+      fprintf (f, " no params return\n");
+      return;
+    }
   count = ipa_get_param_count (info);
   for (i = 0; i < count; i++)
     {

Reply via email to