diff options
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 6e1ea39..e38da6d 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1632,6 +1632,7 @@ copy_bb (copy_body_data *id, basic_block bb, int frequency_scale, edge = cgraph_edge (id->src_node, orig_stmt); if (edge) edge = cgraph_clone_edge (edge, id->dst_node, stmt, + gimple_uid (stmt), REG_BR_PROB_BASE, 1, edge->frequency, true); break; @@ -5119,13 +5120,16 @@ tree_can_inline_p (struct cgraph_edge *e) { e->inline_failed = CIF_TARGET_OPTION_MISMATCH; gimple_call_set_cannot_inline (e->call_stmt, true); + e->call_stmt_cannot_inline_p = true; return false; } - if (!gimple_check_call_args (e->call_stmt)) + if (e->call_stmt + && !gimple_check_call_args (e->call_stmt)) { e->inline_failed = CIF_MISMATCHED_ARGUMENTS; gimple_call_set_cannot_inline (e->call_stmt, true); + e->call_stmt_cannot_inline_p = true; return false; } |