Fix handling of deferred SSA names in modref dataflow
authorJan Hubicka <jh@suse.cz>
Mon, 20 Dec 2021 07:43:13 +0000 (08:43 +0100)
committerJan Hubicka <jh@suse.cz>
Mon, 20 Dec 2021 07:43:13 +0000 (08:43 +0100)
commit8d1e342b4afbad77cb92f8057cf6d1e996bfb077
treeb2075a2df6b749ddd9ac4687632c20875c631c8f
parent19dcecd963295b02b96c8cac57933657dbe3234a
Fix handling of deferred SSA names in modref dataflow

In the testcase we fail to analyze SSA name because flag do_dataflow is set
and thus triggers early exist in analyze_ssa_name.  Fixed by disabling
early exits when handling deferred names.

gcc/ChangeLog:

2021-12-20  Jan Hubicka  <hubicka@ucw.cz>

PR ipa/103669
* ipa-modref.c (modref_eaf_analysis::analyze_ssa_name): Add deferred
parameter.
(modref_eaf_analysis::propagate): Use it.

gcc/testsuite/ChangeLog:

2021-12-20  Jan Hubicka  <hubicka@ucw.cz>

PR ipa/103669
* g++.dg/torture/pr103669.C: New test.
gcc/ipa-modref.c
gcc/testsuite/g++.dg/torture/pr103669.C [new file with mode: 0644]