From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 5D521382FAC4; Mon, 5 Dec 2022 04:56:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D521382FAC4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670216215; bh=H1WIu0CJ4rPQlldUBrRnijAOjFYTejMpvEsSG/BDrC4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=SZeWIHmWno2iXkGs00TCuyN9rj4U6oanbVleXXOVdahKqN1iSZX9bDsJ7Lxgwq6nA SRcEHITidF44uEbzoVBQWjh5mlu0Itg9yf7PC+WI0rawSruwMezb5flUkugFbVKGW6 YN2slFXPFnONAvWq1G3imqfx8qNJ1/obUOxMfkG8= From: "bernd.edlinger at hotmail dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug analyzer/107943] [11/12/13 Regression] gcc -fanalyzer hangs in openssl curve25519.c since r11-3840-gaf66094d03779377 Date: Mon, 05 Dec 2022 04:56:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: analyzer X-Bugzilla-Version: 12.2.1 X-Bugzilla-Keywords: needs-reduction X-Bugzilla-Severity: normal X-Bugzilla-Who: bernd.edlinger at hotmail dot de X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: dmalcolm at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107943 --- Comment #6 from Bernd Edlinger --- I don't know if that is relevant or not, but I was using a slighthly different criterion in bisection. I used .../configure --prefix=3D... --enable-languages=3Dall and defined the bad criterion using the unreduced test case compilation took >10 minutes on Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz The original test case is available as follows: $ wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz $ tar xf openssl-1.1.1s.tar.gz $ ./config -fanalyzer $ make With this pointed to a different commit: r12-7615-gc5288df751f Author: Roger Sayle Date: Fri Mar 11 17:46:50 2022 +0000 PR tree-optimization/98335: Improvements to DSE's compute_trims. This patch is the main middle-end piece of a fix for PR tree-opt/98335, which is a code-quality regression affecting mainline. The issue occurs in DSE's (dead store elimination's) compute_trims function that determi= nes where a store to memory can be trimmed. In the testcase given in the PR, this function notices that the first byte of a DImode store is dead, and replaces the 8-byte store at (aligned) offset zero, with a 7-byte s= tore at (unaligned) offset one. Most architectures can store a power-of-two bytes (up to a maximum) in single instruction, so writing 7 bytes requi= res more instructions than writing 8 bytes. This patch follows Jakub Jelin= ek's suggestion in comment 5, that compute_trims needs improved heuristics. beginning with this version the original test case, enters a steady state after 2 minutes (observed with top: VIRT=3D196296 RES=3D170872 SHR=3D21992 %CPU=3D100,0) and has no progress for at least 20 hours, before I killed it. The reduced test case does not exhibit this behaviour, and runs just for some seconds. But I agree that the r11-3840-gaf66094d03779377 is also special and made the compile time raise from 0 to 2-10 minutes, however I would not have opened this issue for that, since I was believing there is something expensive to check that just did not give a result in the end.=