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

Aldy Hernandez <aldyh at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amacleod at redhat dot com

--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
GORI is taking forever to query the outgoing range of _14 on the 3->4 edge. 
The cunroll pass has expanded the block to this:

  <bb 3> [local count: 59700049]:
  # j_32 = PHI <j_20(8), 0(5)>
  # i_lsm.10_31 = PHI <_3(8), i_lsm.10_6(5)>
  _45 = (short int) j_32;
  _44 = i_lsm.10_31 & _45;
  _43 = (int) _44;
  j_42 = _43 & j_32;
  _19 = (short int) j_42;
  _14 = _19 & _44;
  _13 = (int) _14;
  j_12 = _13 & j_42;
  _29 = (short int) j_12;
  _26 = _29 & _14;
  _15 = (int) _26;
  j_27 = _15 & j_12;
  _56 = (short int) j_27;
  _57 = _56 & _26;
  _58 = (int) _57;
  j_59 = _58 & j_27;
  _65 = (short int) j_59;
  _66 = _65 & _57;
  _67 = (int) _66;
  j_68 = _67 & j_59;
  _74 = (short int) j_68;
  _75 = _74 & _66;
  _76 = (int) _75;
  j_77 = _76 & j_68;
  _83 = (short int) j_77;
  _84 = _83 & _75;
  _85 = (int) _84;
  j_86 = _85 & j_77;
  _92 = (short int) j_86;
  _93 = _92 & _84;
  _94 = (int) _93;
  j_95 = _94 & j_86;
  _101 = (short int) j_95;
  _102 = _101 & _93;
  _103 = (int) _102;
  j_104 = _103 & j_95;
  _110 = (short int) j_104;
  _111 = _110 & _102;
  _112 = (int) _111;
  j_113 = _112 & j_104;
  _119 = (short int) j_113;
  _120 = _119 & _111;
  _121 = (int) _120;
  j_122 = _121 & j_113;
  _128 = (short int) j_122;
  _129 = _128 & _120;
  _130 = (int) _129;
  j_131 = _130 & j_122;
  _137 = (short int) j_131;
  _138 = _137 & _129;
  _139 = (int) _138;
  j_140 = _139 & j_131;
  _146 = (short int) j_140;
  _147 = _146 & _138;
  _148 = (int) _147;
  j_149 = _148 & j_140;
  _155 = (short int) j_149;
  _156 = _155 & _147;
  _157 = (int) _156;
  j_158 = _157 & j_149;
  _164 = (short int) j_158;
  _165 = _164 & _156;
  _166 = (int) _165;
  j_167 = _166 & j_158;
  _1 = (short int) j_167;
  _3 = _1 & _165;
  _5 = (int) _3;
  j_22 = _5 & j_167;
  j_20 = j_22 + 4;
  if (j_20 <= 4)
    goto <bb 8>; [89.00%]
  else
    goto <bb 4>; [11.00%]

Andrew, didn't we talk about clamping gori if the series of dependencies was
greater than some number, because a long chain of events was unlikely to yield
meaningful ranges?

Interestingly vrp2 doesn't hang even with -fno-thread-jumps, but
-fno-thread-jumps -fdump-tree-vrp-details
does make gori hang, since it's now asking for all the outgoing ranges, _14 and
friends included.

Reply via email to