From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77692 invoked by alias); 5 Mar 2015 17:22:13 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 77632 invoked by uid 48); 5 Mar 2015 17:22:09 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/64928] [4.8/4.9/5 Regression] Inordinate cpu time and memory usage in "phase opt and generate" with -ftest-coverage -fprofile-arcs Date: Thu, 05 Mar 2015 17:22:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: compile-time-hog, memory-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.5 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-03/txt/msg00627.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64928 --- Comment #11 from Richard Biener --- Ok, so it's already calculate_live_ranges that takes much memory. I have a small patch to improve that somewhat. But what we really need is to get the "must coalesce" stuff "coalesced" with respect to both live and conflict computation. That is, map must-coalesce SSA vars to the same partition. That loses the SSA corruption testing, but well so it might be much more controversical (silent wrong-code instead of ICE). Unfortunately in the testcase there are only 2750 must-coalesces but 109493 partitions participating in the coalescing (so at least 50000 want coalesces). The good news is of course that we can simply choose to _not_ coalesce that many variables, but say only the important ones.