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

--- Comment #1 from Arseny Solokha <asolokha at gmx dot com> ---
A variant of the same issue:

int a8;

void
c1 (int oz, int dk, int ub)
{
  int *hd = 0;
  long int *th = &dk;

  while (ub < 1)
    {
      oz || dk;
      ++ub;
    }

  while (oz < 2)
    {
      long int *lq = &oz;

      (*hd < (*lq = *th)) < oz;

      if (oz == 0)
        *th = a8 = oz;

      *lq = 0;
    }
}

% x86_64-pc-linux-gnu-gcc-10.0.0-alpha20191013 -O1 -ftree-loop-vectorize
-fno-tree-dce -fno-tree-sink -w -c npqss3pc.c
npqss3pc.c: In function 'c1':
npqss3pc.c:4:1: error: statement uses released SSA name
    4 | c1 (int oz, int dk, int ub)
      | ^~
_6 = _4 < _5;
The use of _4 should have been replaced
during GIMPLE pass: ifcvt
npqss3pc.c:4:1: internal compiler error: cannot update SSA form
0xcf6fe1 update_ssa(unsigned int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-into-ssa.c:3325
0xcd757a version_loop_for_if_conversion
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-if-conv.c:2765
0xcdcd5f tree_if_conversion(loop*, vec<gimple*, va_heap, vl_ptr>*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-if-conv.c:3051
0xcde9c4 execute
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-if-conv.c:3170
0xcde9c4 execute
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-if-conv.c:3157

Reply via email to