[Bug rtl-optimization/97554] ICE: during RTL pass: cprop /segfault in sbitmap
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Oct 26 08:05:33 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97554
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2020-10-26
Status|UNCONFIRMED |ASSIGNED
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. We're doing
#1 0x0000000002343be5 in alloc_cprop_mem (n_blocks=249747, n_sets=137435)
at /home/rguenther/src/gcc2/gcc/cprop.c:557
557 cprop_avloc = sbitmap_vector_alloc (n_blocks, n_sets);
where sbitmap_vector_alloc continues to use 'int' for things like size:
139 sbitmap *
140 sbitmap_vector_alloc (unsigned int n_vecs, unsigned int n_elms)
141 {
142 unsigned int i, bytes, offset, elm_bytes, size, amt, vector_bytes;
143 sbitmap *bitmap_vector;
144
and eventually 'amt' overflows:
amt = vector_bytes + (n_vecs * elm_bytes);
(gdb) p vector_bytes
$8 = 1997976
(gdb) p n_vecs
$9 = 249747
(gdb) p elm_bytes
$10 = 17192
(gdb) p amt
$11 = 681104
I'll fix that part.
More information about the Gcc-bugs
mailing list