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

--- Comment #1 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
The cause of issue is that before ce1 phase pde (or pre) transformation has
been done to remove partial redundant moves to variable i and j, i.e.
code
  int i = x;
  int j = y;
  if (x > y)
    {
      i = a;'
      j = i;
    }
has been transformed to
  int i,j;
  if (x > y)
    {
      i = a;
      j = i;
    }
  else
    {
      i = x;
      i = y;
    }
and ifcvt phase does speculative motion else-part before if-part, i.e. to
original code. This transformation is considered as true change and test is
failed. I assume that test must accept also '6 basic blocks,' to get test
passed.

Reply via email to