re PR ipa/92508 (ICE in do_estimate_edge_time, at ipa-inline-analysis.c:223 since...
authorJan Hubicka <jh@suse.cz>
Mon, 18 Nov 2019 19:28:53 +0000 (20:28 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 18 Nov 2019 19:28:53 +0000 (19:28 +0000)
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
gcc/ipa-inline-analysis.c
gcc/ipa-inline.c

index c57e8c4008497bd3d23dae259ab7483ddb356895..4e381af329b72fa4285db40b2f18e194b0ac3b68 100644 (file)
@@ -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.
index d550d30dc20d82831a1b8a32e59bb5051b213003..b5a55a71d5a46788f6f240d9dd7ee70e61ee47c1 100644 (file)
@@ -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;
index 7fcb20081727b9e7d39738f6f0cc44788e3e9220..1f77ba25ce0e32a9770e87478566457a93957d85 100644 (file)
@@ -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);
        }