diff options
author | Xinliang David Li <davidxl@google.com> | 2009-08-12 16:51:41 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@gcc.gnu.org> | 2009-08-12 16:51:41 +0000 |
commit | 6eb29714e4e42bb0ce53759b2567a71b96cd5c8e (patch) | |
tree | 169e66302796b1a698328523a598d07c824939db /gcc/ipa-inline.c | |
parent | e8e76230ed27bb3a942c0db135089f905c43684f (diff) | |
download | gcc-6eb29714e4e42bb0ce53759b2567a71b96cd5c8e.zip gcc-6eb29714e4e42bb0ce53759b2567a71b96cd5c8e.tar.gz gcc-6eb29714e4e42bb0ce53759b2567a71b96cd5c8e.tar.bz2 |
Fix to PR41012
From-SVN: r150703
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; } |