[PATCH] IPA: fix reproducibility in IPA MOD REF

Martin Liška mliska@suse.cz
Thu Nov 18 17:58:14 GMT 2021


Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Thanks,
Martin

gcc/ChangeLog:

	* ipa-modref.c (analyze_function): Do not execute the code
	only if dump_file != NULL.
---
  gcc/ipa-modref.c | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c
index a3c7c6d6a1f..6cacf9c8ab1 100644
--- a/gcc/ipa-modref.c
+++ b/gcc/ipa-modref.c
@@ -2868,15 +2868,15 @@ analyze_function (function *f, bool ipa)
  	optimization_summaries = modref_summaries::create_ggc (symtab);
        else /* Remove existing summary if we are re-running the pass.  */
  	{
-	  if (dump_file
-	      && (summary
-		  = optimization_summaries->get (fnode))
-		 != NULL
+	  summary = optimization_summaries->get (fnode);
+	  if (summary != NULL
  	      && summary->loads)
  	    {
-	      fprintf (dump_file, "Past summary:\n");
-	      optimization_summaries->get
-		 (fnode)->dump (dump_file);
+	      if (dump_file)
+		{
+		  fprintf (dump_file, "Past summary:\n");
+		  optimization_summaries->get (fnode)->dump (dump_file);
+		}
  	      past_flags.reserve_exact (summary->arg_flags.length ());
  	      past_flags.splice (summary->arg_flags);
  	      past_retslot_flags = summary->retslot_flags;
-- 
2.33.1



More information about the Gcc-patches mailing list