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.