aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-modref.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2021-11-26 13:36:35 +0100
committerJan Hubicka <jh@suse.cz>2021-11-26 13:38:00 +0100
commita70faf6e4df7481c2c9a08a06657c20beb3043de (patch)
tree710eaa61c3e549bc2bcb5caefb31e34cffdb232f /gcc/ipa-modref.c
parent8dedf065aff22b09bd4e48e1be0b77c58d297100 (diff)
downloadgcc-a70faf6e4df7481c2c9a08a06657c20beb3043de.zip
gcc-a70faf6e4df7481c2c9a08a06657c20beb3043de.tar.gz
gcc-a70faf6e4df7481c2c9a08a06657c20beb3043de.tar.bz2
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.
Diffstat (limited to 'gcc/ipa-modref.c')
-rw-r--r--gcc/ipa-modref.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c
index c2edc0d..2f52d41 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);
}