https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103246
--- Comment #18 from Jan Hubicka <hubicka at gcc dot gnu.org> --- This seems to fix it for this particular partitioning at least ;) The problem was in summary update producing ill formed access range (which doesn't know base but knows offset from it) and that confused streamer. I will test it with additional sanity check that accesses are sane. diff --git a/gcc/ipa-modref-tree.h b/gcc/ipa-modref-tree.h index 1bf2aa8460e..c29dda56fc1 100644 --- a/gcc/ipa-modref-tree.h +++ b/gcc/ipa-modref-tree.h @@ -677,6 +677,8 @@ struct GTY((user)) modref_tree access_node->parm_index = (*map)[access_node->parm_index]; else access_node->parm_index = MODREF_UNKNOWN_PARM; + if (access_node->parm_index == MODREF_UNKNOWN_PARM) + access_node->parm_offset_known = false; } } }