Hi, the following patch should let us to pinpoint the wrong disambiguation. With -fdump-tree-all-details we should also see the difference in dump file.
Honza diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def index cf8775b2b66..07946a85ecc 100644 --- a/gcc/dbgcnt.def +++ b/gcc/dbgcnt.def @@ -171,6 +171,7 @@ DEBUG_COUNTER (if_after_reload) DEBUG_COUNTER (if_conversion) DEBUG_COUNTER (if_conversion_tree) DEBUG_COUNTER (ipa_cp_bits) +DEBUG_COUNTER (ipa_mod_ref) DEBUG_COUNTER (ipa_sra_params) DEBUG_COUNTER (ipa_sra_retvalues) DEBUG_COUNTER (ira_move) diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 97dc4ac8814..ba208604c30 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -2470,6 +2470,9 @@ modref_may_conflict (const gimple *stmt, if (tt->every_base) return true; + if (!dbg_cnt (ipa_mod_ref)) + return true; + base_set = ao_ref_base_alias_set (ref); ref_set = ao_ref_alias_set (ref);