From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31606 invoked by alias); 6 Apr 2003 19:46:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 31560 invoked by uid 71); 6 Apr 2003 19:46:00 -0000 Date: Sun, 06 Apr 2003 19:46:00 -0000 Message-ID: <20030406194600.31559.qmail@sources.redhat.com> To: hubicka@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Zack Weinberg Subject: Re: optimization/10024 [3.3 regression] [HP-PA] inline optimization ICE Reply-To: Zack Weinberg X-SW-Source: 2003-04/txt/msg00207.txt.bz2 List-Id: The following reply was made to PR optimization/10024; it has been noted by GNATS. From: Zack Weinberg To: Jan Hubicka Cc: Richard Henderson , gcc-patches@gcc.gnu.org, gcc-gnats@gcc.gnu.org, tausq@debian.org Subject: Re: optimization/10024 [3.3 regression] [HP-PA] inline optimization ICE Date: Sun, 06 Apr 2003 12:38:00 -0700 Jan Hubicka writes: >> On Wed, Mar 26, 2003 at 10:27:54AM -0800, Zack Weinberg wrote: >> > * cfgrtl.c (force_nonfallthru_and_redirect): If e is the edge >> > we want, use it. >> >> Yes, this is ok for 3.3. > I am attaching the fix I sent some time ago. It fixes the checking > failure as well and fixes force_nonfallthru_and_redirect slightly > differently - it just bypass the code when redirection is noop. I > beleive it is slightly more safe as still we may have instruction with > multiple outgoing edges where Zacks code would result in misscompilation > (mine would die, not much better) Dying is definitely better than silently miscompiling. I say go ahead and back out my change and apply yours on both mainline and branch (but don't bother with the test case, I already applied it). ... > PR opt/10024 > * cfglayout.c (cfg_layout_redirect_edge): Update the jump. This changelog entry means nothing to me. Better to say what you say in the comment below. > * cfgrtl.c (force_nonfallthru_and_redirect): Do not special > case the fallthru edges when called via cfglayout.c There should be no "the" in this sentence. > + /* Redirect also the branch edges unified with the fallthru one. */ Better to say "Redirect any branch edges ..." > + /* We may be called from cfglayout when the fallthru edges can go > + arbitarily. */ > + && e->src->next_bb == e->dest /* When called from cfglayout, fallthru edges do not necessarily go to the next block. */ zw