This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]