diff options
author | Markus Trippelsdorf <markus@trippelsdorf.de> | 2013-10-24 17:28:11 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2013-10-24 11:28:11 -0600 |
commit | 51ce05475cc79a06001eae1163e719f570c7a9a9 (patch) | |
tree | fae08a5e55e655a3b6b16ff9f5faa818a6b4fc0d | |
parent | c0f5c38c51a1380cc26694158a2f867f3765ec9b (diff) | |
download | gcc-51ce05475cc79a06001eae1163e719f570c7a9a9.zip gcc-51ce05475cc79a06001eae1163e719f570c7a9a9.tar.gz gcc-51ce05475cc79a06001eae1163e719f570c7a9a9.tar.bz2 |
re PR other/58712 (issues found by --enable-checking=valgrind)
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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cgraph.c | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b663b6..eb381b4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index d05d14b..3f6c334 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -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 (); |