diff options
author | Jan Hubicka <jh@suse.cz> | 2019-11-18 20:28:53 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-11-18 19:28:53 +0000 |
commit | 8d890d37e0183735586c18f1f056deb5848617ca (patch) | |
tree | 0d638d75291cc6786b2a339c529209f6b659553f | |
parent | 092508a07975a00b3bc7c4c6ef551d5b6dc2c193 (diff) | |
download | gcc-8d890d37e0183735586c18f1f056deb5848617ca.zip gcc-8d890d37e0183735586c18f1f056deb5848617ca.tar.gz gcc-8d890d37e0183735586c18f1f056deb5848617ca.tar.bz2 |
re PR ipa/92508 (ICE in do_estimate_edge_time, at ipa-inline-analysis.c:223 since r278159)
PR ipa/92508
* ipa-inline.c (inline_small_functions): Add new edges after reseting
caches.
* ipa-inline-analysis.c (do_estimate_edge_time): Fix sanity check.
From-SVN: r278419
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ipa-inline-analysis.c | 2 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 3 |
3 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c57e8c4..4e381af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-11-18 Jan Hubicka <jh@suse.cz> + + PR ipa/92508 + * ipa-inline.c (inline_small_functions): Add new edges after reseting + caches. + * ipa-inline-analysis.c (do_estimate_edge_time): Fix sanity check. + 2019-11-18 Richard Sandiford <richard.sandiford@arm.com> * doc/sourcebuild.texi (vect_check_ptrs): Document. diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index d550d30..b5a55a7 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -211,7 +211,7 @@ do_estimate_edge_time (struct cgraph_edge *edge, sreal *ret_nonspec_time) nonspec_time = e->entry.nonspec_time; hints = e->entry.hints; if (flag_checking - && !edge->callee->count.ipa_p ()) + && !callee->count.ipa_p ()) { sreal chk_time, chk_nonspec_time; int chk_size, chk_min_size; diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 7fcb200..1f77ba2 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -2136,9 +2136,8 @@ inline_small_functions (void) gcc_checking_assert (!callee->inlined_to); inline_call (edge, true, &new_indirect_edges, &overall_size, true); - add_new_edges_to_heap (&edge_heap, new_indirect_edges); - reset_edge_caches (edge->callee); + add_new_edges_to_heap (&edge_heap, new_indirect_edges); update_callee_keys (&edge_heap, where, updated_nodes); } |