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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|patch                       |

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

  _5 = MEM[(const struct vector
*)this_2(D)].D.36316._M_impl.D.35789._M_start.D.21297._M_p;
  _6 = MEM[(const struct _Bvector_impl *)this_2(D)].D.35789._M_end_of_storage;
  _7 = _6 - _5;
  _8 = _7 * 8;
  _9 = (long unsigned int) _8;
  if (_9 <= 63)
    goto <bb 3>; [33.00%]
  else
    goto <bb 21>; [67.00%]

  <bb 3> [local count: 354334800]:
  _42 = operator new (8);
  SR.127_14 = MEM <_Bit_type * const> [(struct vector *)this_2(D) + 16B];
  SR.128_15 = MEM <const unsigned int> [(struct vector *)this_2(D) + 24B];
  _16 = MEM[(struct vector
*)this_2(D)].D.36316._M_impl.D.35789._M_start.D.21297._M_p;
  _51 = SR.127_14 - _16;
  _148 = (long unsigned int) _51;
  if (_51 > 8)


There is a missing optimization here.

Reply via email to