From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15947 invoked by alias); 5 Mar 2015 23:07:44 -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 15911 invoked by uid 48); 5 Mar 2015 23:07:41 -0000 From: "steven 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 23:07: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: steven 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: cc 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/msg00673.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64928 Steven Bosscher changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |steven at gcc dot gnu.org --- Comment #12 from Steven Bosscher --- (In reply to Richard Biener from comment #9) > It seems that loop invariant motion is responsible for most of the abnormals, > thus -fno-tree-loop-im restores performance. > > The loop LIM detects is of style > > : (header) > # ___fp_3(ab) = PHI <___fp_41(4), ___fp_5(21)> > # ___r1_7(ab) = PHI <___r1_42(4), ___r1_9(21)> > # ___r2_11(ab) = PHI <___r2_43(4), ___r3_17(21)> > # ___r3_19(ab) = PHI <___r3_44(4), ___r3_23(21)> > # ___r4_25 = PHI <___r4_45(4), ___r4_26(21)> > # gotovar.17_29 = PHI <_51(4), _69(21)> > goto gotovar.17_29; Perhaps disable LIM (and maybe PRE) if the CFG has a large edge/bb ratio (i.e. dense CFG)? There's probably no benefit in such cases anyway.