From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8421C3858022; Tue, 19 Jul 2022 09:17:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8421C3858022 From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/106334] [13 Regression] lto -g ICE in dwarf2out_register_external_die at dwarf2out.cc:6072 Date: Tue, 19 Jul 2022 09:17:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 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 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, 19 Jul 2022 09:17:06 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106334 --- Comment #3 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:0f129766fdb687394f0eea04f69268b5cc034cda commit r13-1742-g0f129766fdb687394f0eea04f69268b5cc034cda Author: Richard Biener Date: Tue Jul 19 10:02:40 2022 +0200 lto/106334 - relax assert during WPA tree merging The dwarf2out map of tree to symbol + offset is populated too early when streaming in trees so that when WPA tree merging decides to recycle them the mapping prevails and if we are unlucky the same address is used for another tree with a symbol + offset DIE to record. The following mitigates the resulting ICE by relaxing the assert, allowing re-use of a slot during WPA. Delaying the register would be better but it's already somewhat hairy and uglifying this further doesn't look too important right now. PR lto/106334 * dwarf2out.cc (dwarf2out_register_external_die): Allow map entry re-use during WPA.=