From 8d890d37e0183735586c18f1f056deb5848617ca Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 18 Nov 2019 20:28:53 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/ipa-inline-analysis.c | 2 +- gcc/ipa-inline.c | 3 +-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c57e8c40084..4e381af329b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-11-18 Jan Hubicka + + 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 * doc/sourcebuild.texi (vect_check_ptrs): Document. diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index d550d30dc20..b5a55a71d5a 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 7fcb2008172..1f77ba25ce0 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); } -- 2.30.2