[Bug optimization/14682] [tree-ssa] error: Invalid operand to binary operator

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 22 20:20:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-03-22 20:20 -------
DOM is causing it.
Before DOM:
;; Function __atomic_readv_replacement (__atomic_readv_replacement)

__atomic_readv_replacement (iov_len, count, i)
{
  long long unsigned int bytes;
  long long unsigned int T.0;

<bb 0>:
  bytes_1 = 0;
  goto <bb 3> (<L2>);

<L0>:;
  T.0_5 = 9223372036854775807 - bytes_1;
  if (T.0_5 < iov_len_6) goto <L1>; else goto <L2>;

<L1>:;
  return 22;

<L2>:;
  if (i_2 < count_3) goto <L0>; else goto <L4>;

<L4>:;
  return 0;

}
After DOM:

;; Function __atomic_readv_replacement (__atomic_readv_replacement)

__atomic_readv_replacement (iov_len, count, i)
{
  long long unsigned int bytes;
  long long unsigned int T.0;

<bb 0>:
  bytes_1 = 0;
  goto <bb 3> (<L2>);

<L0>:;
  T.0_5 = 9223372036854775807;
  if ((long long int)iov_len_6 < 0) goto <L1>; else goto <L2>;

<L1>:;
  return 22;

<L2>:;
  if (i_2 < count_3) goto <L0>; else goto <L4>;

<L4>:;
  return 0;

}


See   if ((long long int)iov_len_6 < 0) goto <L1>; else goto <L2>;

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at gcc dot gnu dot org
          Component|middle-end                  |optimization


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14682



More information about the Gcc-bugs mailing list