[Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4

slyfox at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 16 08:45:35 GMT 2020


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

Sergei Trofimovich <slyfox at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slyfox at gcc dot gnu.org

--- Comment #3 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
In https://bugs.gentoo.org/760117 we got a similar report. I reproduced it
locally and minimized to the following:

// cat bug.c
char CopyPlane_src;
long CopyPlane_copy_pitch;
char *CopyFromUswc_src;
int CopyFromUswc_height;
void CopyPlane(char *dst) {
  __builtin_memcpy(dst, &CopyPlane_src, CopyPlane_copy_pitch);
}
void CopyFromUswc(long src_pitch) {
  char *dst;
  for (; CopyFromUswc_height;) {
    unsigned unaligned = (long)CopyFromUswc_src;
    if (unaligned)
      CopyPlane(&dst[unaligned]);
    CopyFromUswc_src += src_pitch;
  }
}


Crashes as:

$ LANG=C gcc-11.0.0 -O2 -c bug.c -Wall -Wextra

during GIMPLE pass: wrestrict
bug.c: In function 'CopyFromUswc':
bug.c:8:6: internal compiler error: Segmentation fault
    8 | void CopyFromUswc(long src_pitch) {
      |      ^~~~~~~~~~~~
0xb6956a crash_signal
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/toplev.c:327
0x7fe03834db5f ???
       
/usr/src/debug/sys-libs/glibc-2.32-r5/glibc-2.32/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x156ef41 operator_cast::op1_range(irange&, tree_node*, irange const&, irange
const&) const
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/range-op.cc:1881
0x1485a12 gori_compute::compute_name_range_op(irange&, gimple*, irange const&,
tree_node*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:490
0x1488b33 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:1281
...


More information about the Gcc-bugs mailing list