From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 35526385840B; Tue, 9 Apr 2024 11:39:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 35526385840B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712662795; bh=Ox3rWmjMI6tbhWegsCVKMq44TYH8OBtE1JkDJ47FuZw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Ze4Nbu/ls8J20wkggrKqcjIKsXmyVq2jYO5GnrQRyBnvEsgOYcSIB10xHSMJprNfw X9hCZ81ROmIn3dgaTxaOlscb9FUPZ7PJ9bpfwswpsetdCSZTvcReX/4ZGA7zX5xfTL ZpKebA2CBR+DPWaXd+L1UoAFf4o0qHMDiDmAmetI= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/114480] [12/13/14 Regression] g++: internal compiler error: Segmentation fault signal terminated program cc1plus Date: Tue, 09 Apr 2024 11:39:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 11.4.0 X-Bugzilla-Keywords: compile-time-hog, memory-hog, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.4 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=3D114480 --- Comment #30 from Richard Biener --- Temporarily memory goes to out-of-SSA computing liveness (2GB), after RTL expansion it drops to ~900MB peak again. Then df-init-at-O0 bumps to 1.3GB= and then IRA goes all the way to >3GB. We're using lra_simple_p because num_used_regs is 343033 and last_basic_block is 117142. It's df_analyze () which brings memory usage to 2.8GB. After ira_build () it's 3.4GB. There's 1.5GB used in LR problem data bitmaps, we are not separating the local computed bitmaps from the global solution (the DF machinery doesn't have a separate "local compute" free, possibly the finalize hook can be used for this). Though the local compute bitmaps only use around 20MB. The DF bitmap obstack itself is quite small as well. Of course it's all because we fail to implement the initializers EH cleanup in a more sensible way. Complete "elements" could be processed in a loop over the containers elements while only a single partially under-construction element would need to be handled "inline".=