Fix wrong code with modref and some builtins.
commit2f3d43a35155685b1795b4392e20e1c14a33c38f
authorJan Hubicka <jh@suse.cz>
Sat, 13 Nov 2021 00:51:25 +0000 (13 01:51 +0100)
committerJan Hubicka <jh@suse.cz>
Sat, 13 Nov 2021 00:51:25 +0000 (13 01:51 +0100)
tree62c93bdcc3a21cb6f0f23479da2bc320a6c33e57
parent60f761c7e54f96a287c73a71d0b09ee2b2f8426d
Fix wrong code with modref and some builtins.

ipa-modref gets confused by EAF flags of memcpy becuase parameter 1 is
escaping but used only directly.  In modref we do not track values saved to
memory and thus we clear all other flags on each store.  This needs to also
happen when called function escapes parameter.

gcc/ChangeLog:

PR tree-optimization/103182
* ipa-modref.c (callee_to_caller_flags): Fix merging of flags.
(modref_eaf_analysis::analyze_ssa_name): Fix merging of flags.
gcc/ipa-modref.c