From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1851 invoked by alias); 27 Sep 2004 11:56:01 -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 1828 invoked from network); 27 Sep 2004 11:55:58 -0000 Received: from unknown (HELO mtagate3.de.ibm.com) (195.212.29.152) by sourceware.org with SMTP; 27 Sep 2004 11:55:58 -0000 Received: from d12nrmr1507.megacenter.de.ibm.com (d12nrmr1507.megacenter.de.ibm.com [9.149.167.1]) by mtagate3.de.ibm.com (8.12.10/8.12.10) with ESMTP id i8RBtvdW111998; Mon, 27 Sep 2004 11:55:57 GMT Received: from d12ml102.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1507.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i8RBtuIs212086; Mon, 27 Sep 2004 13:55:57 +0200 To: weigand@i1.informatik.uni-erlangen.de Cc: law@redhat.com, gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org, Ayal Zaks MIME-Version: 1.0 Subject: Re: [PATCH] Re: Bad code generated by inter-block scheduling Message-ID: From: Mircea Namolaru Date: Mon, 27 Sep 2004 14:01:00 -0000 Content-Type: text/plain; charset="US-ASCII" X-SW-Source: 2004-09/txt/msg01522.txt.bz2 > 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. When we developed this code years ago the CFG was not maintained during compilation. It's a good idea to use the standard CFG data structures. > For the decision interblock vs. speculative, I agree that this > should just be post-dominance. However, the split-edges stuff > is also used, in the speculative case, to find all the blocks > where speculative motion could cause a variable to become live > at start that previously wasn't. For a speculative motion we must avoid moving a definition of a register R into a place where it is currently live. This is the main reason for computing the split edges. The split edges also provide an easy way to determine if two basic blocks are equivalent without explicit computation of post-dominance relation. Mircea Namolaru