diff options
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index dde8181c..79de363 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1006,10 +1006,8 @@ cgraph_decide_inlining_of_small_functions (void) } continue; } - if (!tree_can_inline_p (edge->caller->decl, edge->callee->decl)) + if (!tree_can_inline_p (edge)) { - gimple_call_set_cannot_inline (edge->call_stmt, true); - edge->inline_failed = CIF_TARGET_OPTION_MISMATCH; if (dump_file) fprintf (dump_file, " inline_failed:%s.\n", cgraph_inline_failed_string (edge->inline_failed)); @@ -1184,11 +1182,8 @@ cgraph_decide_inlining (void) if (cgraph_recursive_inlining_p (e->caller, e->callee, &e->inline_failed)) continue; - if (!tree_can_inline_p (e->caller->decl, e->callee->decl)) - { - gimple_call_set_cannot_inline (e->call_stmt, true); - continue; - } + if (!tree_can_inline_p (e)) + continue; if (cgraph_mark_inline_edge (e, true, NULL)) redo_always_inline = true; if (dump_file) @@ -1440,14 +1435,14 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, } continue; } - if (!tree_can_inline_p (node->decl, e->callee->decl)) + if (!tree_can_inline_p (e)) { - gimple_call_set_cannot_inline (e->call_stmt, true); if (dump_file) { indent_to (dump_file, depth); fprintf (dump_file, - "Not inlining: Target specific option mismatch.\n"); + "Not inlining: %s", + cgraph_inline_failed_string (e->inline_failed)); } continue; } @@ -1553,14 +1548,14 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, } continue; } - if (!tree_can_inline_p (node->decl, e->callee->decl)) + if (!tree_can_inline_p (e)) { - gimple_call_set_cannot_inline (e->call_stmt, true); if (dump_file) { indent_to (dump_file, depth); fprintf (dump_file, - "Not inlining: Target specific option mismatch.\n"); + "Not inlining: %s.", + cgraph_inline_failed_string (e->inline_failed)); } continue; } |