ipa: Fix wrong code with failed propagation to builtin_constant_p [PR93940]

Jan Hubicka hubicka@ucw.cz
Sat Apr 4 13:58:16 GMT 2020


> 
> The change 1) breaks bootstrap and 2) fails to update the ChangeLog files.
Hi,
sorry for that. Git is still not my friend. I managed to stash and
unstash multiple changes and mix them up.

I comitted the following fix.

Honza


diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0221945fe6c..75e3a4f3993 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2020-04-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/93940
+	* ipa-fnsummary.c (vrp_will_run_p): New function.
+	(fre_will_run_p): New function.
+	(evaluate_properties_for_edge): Use it.
+	* ipa-inline.c (can_inline_edge_by_limits_p): Do not inline
+	!optimize_debug to optimize_debug.
+
 2020-04-04  Jakub Jelinek  <jakub@redhat.com>
 
 	PR rtl-optimization/94468
diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c
index d96c8e9b03c..045a0ecf766 100644
--- a/gcc/ipa-fnsummary.c
+++ b/gcc/ipa-fnsummary.c
@@ -636,7 +636,7 @@ evaluate_properties_for_edge (struct cgraph_edge *e, bool inline_p,
 		  }
 
 		/* Determine known aggregate values.  */
-		if (vrp_will_run_p (caller))
+		if (fre_will_run_p (caller))
 		  {
 		    ipa_agg_value_set agg
 			= ipa_agg_value_set_from_jfunc (caller_parms_info,
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 427266a877f..36eb4ba108d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/93940
+	* g++.dg/tree-ssa/pr93940.C: New test.
+
 2020-04-04  Jakub Jelinek  <jakub@redhat.com>
 
 	PR rtl-optimization/94468


More information about the Gcc-patches mailing list