[Bug ipa/94232] [10 Regression] Wrong code since r10-7273-gf3280e4c0c98e103603bafc466ea49651fe0b7f2

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Mar 20 09:26:48 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94232

--- Comment #11 from Martin Liška <marxin at gcc dot gnu.org> ---
Untested fix:

diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 1c17010e369..afa3fd972eb 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1356,9 +1356,11 @@ ipa_get_jf_ancestor_result (struct ipa_jump_func *jfunc,
tree input)
       poly_int64 off = ipa_get_jf_ancestor_offset (jfunc);
       if (known_eq (off, 0))
        return input;
+      poly_int64 byte_offset = exact_div (off, BITS_PER_UNIT);
       return build1 (ADDR_EXPR, TREE_TYPE (input),
                     fold_build2 (MEM_REF, TREE_TYPE (TREE_TYPE (input)),
-                                 input, build_int_cst (ptr_type_node, off)));
+                                 input,
+                                 build_int_cst (ptr_type_node, byte_offset)));
     }
   else
     return NULL_TREE;


More information about the Gcc-bugs mailing list