From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17826 invoked by alias); 24 Sep 2004 04:58:53 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 17812 invoked from network); 24 Sep 2004 04:58:51 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 24 Sep 2004 04:58:51 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.10) with ESMTP id i8O4wl4a031596; Fri, 24 Sep 2004 00:58:47 -0400 Received: from [172.16.83.132] (vpn83-132.boston.redhat.com [172.16.83.132]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i8O4wlr04287; Fri, 24 Sep 2004 00:58:47 -0400 Subject: Re: [PATCH] Re: Bad code generated by inter-block scheduling From: Jeffrey A Law Reply-To: law@redhat.com To: Ulrich Weigand Cc: gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org In-Reply-To: <200409240011.CAA06500@faui1m.informatik.uni-erlangen.de> References: <200409240011.CAA06500@faui1m.informatik.uni-erlangen.de> Content-Type: text/plain Organization: Red Hat, Inc Message-Id: <1096001925.11715.731.camel@localhost.localdomain> Mime-Version: 1.0 Date: Fri, 24 Sep 2004 06:46:00 -0000 Content-Transfer-Encoding: 7bit X-SW-Source: 2004-09/txt/msg01403.txt.bz2 On Thu, 2004-09-23 at 18:11, Ulrich Weigand wrote: > Maybe there's some way of retrieving this information from > the dominator graph as well, but right now I don't really want > to do actual algorithmic changes, just fix my bug ;-) I understand... > Instead of piling more hacks on top, I've tried to completely > remove 'haifa_edge' and everything related to it, and use the > standard CFG data structures instead -- this way we will > automatically get the exit edges. This went quite smoothly, > I only had to change a couple of other places to use basic_block > or edge pointers instead of indices. Way way way cool. That code has been on my hitlist for about 6 years now. In the defense of the original haifa-sched developers, their work pre-dates having a CFG, so they did just about everything they needed inside haifa. Removing that code as we've made the CFG a first class structure within GCC hasn't progressed as well as I would have liked. I'll conditionally approve the patch -- however, the condition is that it's updated for the edge vector changes after they go in, then retested. Please post the patch that actually gets installed. [ The edge vector changes are bloody huge and I'd like to get them installed before we create conflicts for merging in that code. ] > I now don't even need to call create_edge_list at all, the > only other user of the edge_list, find_rgns, could easily > be changed to just use the regular CFG data structures. That would be a greatly appreciated follow-on patch. Jeff