From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C9B493858411; Tue, 16 Nov 2021 10:11:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C9B493858411 From: "aldyh at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/103254] [12 Regression] Compile time hog in compare_values_warnv since r12-4790-g4b3a325f07acebf4 Date: Tue, 16 Nov 2021 10:11:52 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: compile-time-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: aldyh at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2021 10:11:52 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103254 Aldy Hernandez changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amacleod at redhat dot com --- Comment #2 from Aldy Hernandez --- GORI is taking forever to query the outgoing range of _14 on the 3->4 edge.= =20 The cunroll pass has expanded the block to this: [local count: 59700049]: # j_32 =3D PHI # i_lsm.10_31 =3D PHI <_3(8), i_lsm.10_6(5)> _45 =3D (short int) j_32; _44 =3D i_lsm.10_31 & _45; _43 =3D (int) _44; j_42 =3D _43 & j_32; _19 =3D (short int) j_42; _14 =3D _19 & _44; _13 =3D (int) _14; j_12 =3D _13 & j_42; _29 =3D (short int) j_12; _26 =3D _29 & _14; _15 =3D (int) _26; j_27 =3D _15 & j_12; _56 =3D (short int) j_27; _57 =3D _56 & _26; _58 =3D (int) _57; j_59 =3D _58 & j_27; _65 =3D (short int) j_59; _66 =3D _65 & _57; _67 =3D (int) _66; j_68 =3D _67 & j_59; _74 =3D (short int) j_68; _75 =3D _74 & _66; _76 =3D (int) _75; j_77 =3D _76 & j_68; _83 =3D (short int) j_77; _84 =3D _83 & _75; _85 =3D (int) _84; j_86 =3D _85 & j_77; _92 =3D (short int) j_86; _93 =3D _92 & _84; _94 =3D (int) _93; j_95 =3D _94 & j_86; _101 =3D (short int) j_95; _102 =3D _101 & _93; _103 =3D (int) _102; j_104 =3D _103 & j_95; _110 =3D (short int) j_104; _111 =3D _110 & _102; _112 =3D (int) _111; j_113 =3D _112 & j_104; _119 =3D (short int) j_113; _120 =3D _119 & _111; _121 =3D (int) _120; j_122 =3D _121 & j_113; _128 =3D (short int) j_122; _129 =3D _128 & _120; _130 =3D (int) _129; j_131 =3D _130 & j_122; _137 =3D (short int) j_131; _138 =3D _137 & _129; _139 =3D (int) _138; j_140 =3D _139 & j_131; _146 =3D (short int) j_140; _147 =3D _146 & _138; _148 =3D (int) _147; j_149 =3D _148 & j_140; _155 =3D (short int) j_149; _156 =3D _155 & _147; _157 =3D (int) _156; j_158 =3D _157 & j_149; _164 =3D (short int) j_158; _165 =3D _164 & _156; _166 =3D (int) _165; j_167 =3D _166 & j_158; _1 =3D (short int) j_167; _3 =3D _1 & _165; _5 =3D (int) _3; j_22 =3D _5 & j_167; j_20 =3D j_22 + 4; if (j_20 <=3D 4) goto ; [89.00%] else goto ; [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 yi= eld 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.=