aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2010-10-04 12:15:10 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2010-10-04 12:15:10 +0200
commit1dbee8c9f90c562d20928c489412d4eca2e4b21a (patch)
tree6e4513da8811502ddc1fda4c23a67e0fd29d9709 /gcc/ipa-inline.c
parenteeb4dfdacf3a27faa5487d7cdc0aea3f0473a0bd (diff)
downloadgcc-1dbee8c9f90c562d20928c489412d4eca2e4b21a.zip
gcc-1dbee8c9f90c562d20928c489412d4eca2e4b21a.tar.gz
gcc-1dbee8c9f90c562d20928c489412d4eca2e4b21a.tar.bz2
re PR tree-optimization/45572 (various ICEs with -finline-small-functions -findirect-inlining -finline-functions)
2010-10-04 Martin Jambor <mjambor@suse.cz> PR tree-optimization/45572 * ipa-prop.c (ipa_make_edge_direct_to_target): Call ipa_check_create_node_params. * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges. * testsuite/g++.dg/ipa/pr45572-1.C: New test. * testsuite/g++.dg/ipa/pr45572-2.C: Likewise. From-SVN: r164930
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 21e0b64..ca3823b 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1031,6 +1031,7 @@ add_new_edges_to_heap (fibheap_t heap, VEC (cgraph_edge_p, heap) *new_edges)
gcc_assert (!edge->aux);
if (edge->callee->local.inlinable
+ && edge->inline_failed
&& cgraph_default_inline_p (edge->callee, &edge->inline_failed))
edge->aux = fibheap_insert (heap, cgraph_edge_badness (edge, false), edge);
}