re PR other/58712 (issues found by --enable-checking=valgrind)
authorMarkus Trippelsdorf <markus@trippelsdorf.de>
Thu, 24 Oct 2013 17:28:11 +0000 (17:28 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 24 Oct 2013 17:28:11 +0000 (11:28 -0600)
        PR ipa/58712
        * cgraph.c (cgraph_create_edge_1): Add indirect_unknown_callee
        as argument.
        (cgraph_create_edge): Use the new argument.
        (cgraph_create_indirect_edge): Likewise.

From-SVN: r204026

gcc/ChangeLog
gcc/cgraph.c

index 8b663b63a24edfe86a5eadd148ff5cf614c1008a..eb381b4daa8dbb663d7a9813e2707b54e265a4ea 100644 (file)
@@ -1,3 +1,11 @@
+2013-10-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
+       
+       PR ipa/58712
+       * cgraph.c (cgraph_create_edge_1): Add indirect_unknown_callee
+       as argument.
+       (cgraph_create_edge): Use the new argument.
+       (cgraph_create_indirect_edge): Likewise.
+
 2013-10-24  Joern Rennecke  <joern.rennecke@embecosm.com>
 
        * gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle
index d05d14b7954b943c7ac90920e1bd03c05a5d62c6..3f6c334de04d69187ecdd1744e2fc4c90a5447b6 100644 (file)
@@ -817,7 +817,8 @@ cgraph_set_call_stmt (struct cgraph_edge *e, gimple new_stmt,
 
 static struct cgraph_edge *
 cgraph_create_edge_1 (struct cgraph_node *caller, struct cgraph_node *callee,
-                      gimple call_stmt, gcov_type count, int freq)
+                      gimple call_stmt, gcov_type count, int freq,
+                      bool indir_unknown_callee)
 {
   struct cgraph_edge *edge;
 
@@ -877,6 +878,7 @@ cgraph_create_edge_1 (struct cgraph_node *caller, struct cgraph_node *callee,
   edge->indirect_info = NULL;
   edge->indirect_inlining_edge = 0;
   edge->speculative = false;
+  edge->indirect_unknown_callee = indir_unknown_callee;
   if (call_stmt && caller->call_site_hash)
     cgraph_add_edge_to_call_site_hash (edge);
 
@@ -890,9 +892,8 @@ cgraph_create_edge (struct cgraph_node *caller, struct cgraph_node *callee,
                    gimple call_stmt, gcov_type count, int freq)
 {
   struct cgraph_edge *edge = cgraph_create_edge_1 (caller, callee, call_stmt,
-                                                  count, freq);
+                                                  count, freq, false);
 
-  edge->indirect_unknown_callee = 0;
   initialize_inline_failed (edge);
 
   edge->next_caller = callee->callers;
@@ -929,10 +930,9 @@ cgraph_create_indirect_edge (struct cgraph_node *caller, gimple call_stmt,
                             gcov_type count, int freq)
 {
   struct cgraph_edge *edge = cgraph_create_edge_1 (caller, NULL, call_stmt,
-                                                  count, freq);
+                                                  count, freq, true);
   tree target;
 
-  edge->indirect_unknown_callee = 1;
   initialize_inline_failed (edge);
 
   edge->indirect_info = cgraph_allocate_init_indirect_info ();