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

Reply via email to