Hi, this patch fixes wrong compare in remap_params which triggers a wrong code with my followup patch. This needs backporting to gcc11 as well which I plan to do tomorrow.
Bootstrapped/regtested x86_64-linux, comitted. gcc/ChangeLog: * ipa-modref-tree.h (modref_tree::remap_params): Fix off-by-one error. diff --git a/gcc/ipa-modref-tree.h b/gcc/ipa-modref-tree.h index be5efcbb68f..3e213b23d79 100644 --- a/gcc/ipa-modref-tree.h +++ b/gcc/ipa-modref-tree.h @@ -1139,7 +1139,7 @@ struct GTY((user)) modref_tree size_t k; modref_access_node *access_node; FOR_EACH_VEC_SAFE_ELT (ref_node->accesses, k, access_node) - if (access_node->parm_index > 0) + if (access_node->parm_index >= 0) { if (access_node->parm_index < (int)map->length ()) access_node->parm_index = (*map)[access_node->parm_index];