From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11918 invoked by alias); 15 Jul 2014 07:45:15 -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 11626 invoked by uid 55); 15 Jul 2014 07:45:03 -0000 From: "rguenther at suse dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/61757] [4.10 Regression] genmodes failure with enable-checking Date: Tue, 15 Jul 2014 07:45:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 4.10.0 X-Bugzilla-Keywords: build X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenther at suse dot de X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.10.0 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: 2014-07/txt/msg00939.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61757 --- Comment #33 from rguenther at suse dot de --- On Mon, 14 Jul 2014, law at redhat dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61757 > > --- Comment #32 from Jeffrey A. Law --- > No, we don't have that information available in any reasonable form. That's > one of the things I need to investigate. At least during the DOM walk we record the undo stack, so when visiting a backedge we'd need to unwind up to the target block (or record that unwind info in some other place to be usable in the threading code). That also sounds cheaper than the quadratic complexity invalidation done as noted in PR61515. > One of the possibilities is to flip things on their side a bit. The old code > started recording equivalences it might need to invalidate when it traversed > the backedge. Part of the problem with that scheme is some of the equivalences > were already recorded by tree-ssa-dom.c, independent of the threading bits. We > didn't have a way to find or invalidate those equivalences. See above - those are the easy bits I think... I know nothing of those recorded at threading time (I've not dug into that code many times).