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];

Reply via email to