From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 344B438582A4; Thu, 29 Feb 2024 12:00:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 344B438582A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709208041; bh=JOFYbowcDORCCpH2dhs+sN4c7fq+iTNNswMbwgqaJas=; h=From:To:Subject:Date:In-Reply-To:References:From; b=FYRd0nRMO5+pLYtPrczEoOOsWlZmAupHZfd44MzuA9qYib0ntbgbGtFyyZ64sXtqw tCzbhYTe+q35hqTEJrFcNAHWLsWjquDVlRc+8A0c+79tEy7oQQy7PiTw7g9XEOA5C/ fc7tesBtnxyEQ0rJ4MvUAIWCROsv9kfHuVKP1d7k= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/113994] [13/14 Regression] Probable C++ code generation bug with -O2 on s390x platform Date: Thu, 29 Feb 2024 12:00:40 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.2.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created 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=3D113994 --- Comment #8 from Richard Biener --- Created attachment 57574 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D57574&action=3Dedit patch A quick-and-dirty thing would be indeed to simply include all exit blocks like with the attached. I'll note that df_analyze_loop has serious scalability issues so IMO we should try to get rid of it and its uses. I don't know the doloop pass at all (invariant motion also uses this function), but it would be best if it could do df_analyze on the whole function and either decide it doesn't need to update DF during transform since it doesn't effect other loops it processes or it would update DF info manually.=