[Bug ipa/103818] [12 Regression] ICE: in insert, at ipa-modref-tree.c:591 since r12-3202-gf5ff3a8ed4ca9173
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Apr 9 20:25:31 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103818
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
We have access list:
Base 0: alias set 2
Ref 0: alias set 1
access: Parm 0 param offset:0 offset:-4611686018427387936 size:32
max_size:32
access: Parm 0 param offset:0 offset:352 size:32 max_size:32
access: Parm 0 param offset:0 offset:64 size:32 max_size:32
access: Parm 0 param offset:0 offset:0 size:32 max_size:32
access: Parm 0 param offset:0 offset:32800 size:32 max_size:32
access: Parm 0 param offset:0 offset:160 size:32 max_size:32
access: Parm 0 param offset:0 offset:4629700416936869888 size:32
max_size:32
access: Parm 0 param offset:0 offset:-96 size:32 max_size:32
access: Parm 0 param offset:0 offset:1376 size:32 max_size:32
access: Parm 0 param offset:0 offset:224 size:32 max_size:32
access: Parm 0 param offset:0 offset:-288 size:32 max_size:32
access: Parm 0 param offset:0 offset:448 size:32 max_size:32
access: Parm 0 param offset:0 offset:288 size:32 max_size:32
access: Parm 0 param offset:0 offset:1568 size:32 max_size:32
access: Parm 0 param offset:0 offset:640 size:32 max_size:32
access: Parm 0 param offset:0 offset:2624 size:32 max_size:32
and we want to merge
Parm 0 param offset:0 offset:-4611686018427387936 size:32 max_size:32
and
Parm 0 param offset:0 offset:4629700416936869888 size:32 max_size:32
into one entry since we think they have small difference.
So an overflow issue:
new_max_size = max_size2 + offset2 - offset1;
if (known_le (new_max_size, max_size1))
new_max_size = max_size1;
So we need 128bit math here.
I need to look into proper way to get this right (and corresponding overflow
that makes the lgoic to choose these two entries as closest to each other.
More information about the Gcc-bugs
mailing list