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

--- Comment #3 from Andrew Macleod <amacleod at redhat dot com> ---
This is a long sequence, made from the following pattern:

  _156 = _155 & _147;
  _157 = (int) _156;
  j_158 = _157 & j_149;
  _164 = (short int) j_158;
  _165 = _164 & _156;

Since GORI doesn't yet cache anything, each name evaluation is a "new" request.
 to resolve _165 it calculates  _164 and _156.
Note that _164 is also ultimately defined by _156 (in combination with _j_149).
so that means we evaluate _156 twice to get _165.

This rapidly triggers the same exponential growth we encountered with PR
100081, so we will need to limit this sort of thing in general until GORI
starts caching outgoing values.

Reply via email to