From a70faf6e4df7481c2c9a08a06657c20beb3043de Mon Sep 17 00:00:00 2001
From: Jan Hubicka <jh@suse.cz>
Date: Fri, 26 Nov 2021 13:36:35 +0100
Subject: [PATCH] Fix handling of in_flags in update_escape_summary_1

update_escape_summary_1 has thinko where it compues proper min_flags but then
stores original value (ignoring the fact whether there was a dereference
in the escape point).

	PR ipa/102943
	* ipa-modref.c (update_escape_summary_1): Fix handling of min_flags.
---
 gcc/ipa-modref.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c
index c2edc0d28a6f..2f52d41aa483 100644
--- a/gcc/ipa-modref.c
+++ b/gcc/ipa-modref.c
@@ -4201,7 +4201,7 @@ update_escape_summary_1 (cgraph_edge *e,
 	  if (ee->direct && !em->direct)
 	    min_flags = deref_flags (min_flags, ignore_stores);
 	  struct escape_entry entry = {em->parm_index, ee->arg,
-				       ee->min_flags,
+				       min_flags,
 				       ee->direct & em->direct};
 	  sum->esc.safe_push (entry);
 	}
-- 
GitLab