Hi. This is one very similar patch.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin
>From adf577edd5a1d2b6ed78c1cc18feaff23fbfdd1c Mon Sep 17 00:00:00 2001 From: marxin <mli...@suse.cz> Date: Thu, 24 Jan 2019 16:07:29 +0100 Subject: [PATCH] Revert yet another ::get_create for IPA summary (PR ipa/88958). gcc/ChangeLog: 2019-01-24 Martin Liska <mli...@suse.cz> PR ipa/88958 * ipa-fnsummary.c (estimate_edge_devirt_benefit): Use ::get_create as the symbol can be not seen yet. gcc/testsuite/ChangeLog: 2019-01-24 Martin Liska <mli...@suse.cz> PR ipa/88958 * gcc.dg/ipa/pr88985.c: New test. --- gcc/ipa-fnsummary.c | 2 +- gcc/testsuite/gcc.dg/ipa/pr88985.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/ipa/pr88985.c diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c index 535b3f22d49..af741f04eb2 100644 --- a/gcc/ipa-fnsummary.c +++ b/gcc/ipa-fnsummary.c @@ -2581,7 +2581,7 @@ estimate_edge_devirt_benefit (struct cgraph_edge *ie, callee = callee->function_symbol (&avail); if (avail < AVAIL_AVAILABLE) return false; - isummary = ipa_fn_summaries->get (callee); + isummary = ipa_fn_summaries->get_create (callee); return isummary->inlinable; } diff --git a/gcc/testsuite/gcc.dg/ipa/pr88985.c b/gcc/testsuite/gcc.dg/ipa/pr88985.c new file mode 100644 index 00000000000..8253a893cf6 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ipa/pr88985.c @@ -0,0 +1,13 @@ +void f (void) +{ +} +__attribute__((__optimize__("O2"))) +void g (void f()) +{ + f(); +} +__attribute__((__optimize__("O2"))) +void h (void) +{ + g(f); +} -- 2.20.1