From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 114187 invoked by alias); 8 Dec 2015 22:54:43 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 114178 invoked by uid 89); 8 Dec 2015 22:54:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 08 Dec 2015 22:54:41 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 90CF83C21F; Tue, 8 Dec 2015 22:54:40 +0000 (UTC) Received: from localhost.localdomain (ovpn-113-32.phx2.redhat.com [10.3.113.32]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tB8MseTl026501; Tue, 8 Dec 2015 17:54:40 -0500 Subject: Re: [Patch] Fix bug for frame instructions in annulled delay slots To: sellcey@imgtec.com References: <5665DDCB.5070003@redhat.com> <5665DE4A.8090000@redhat.com> <1449523136.4788.101.camel@ubuntu-sellcey> Cc: Bernd Schmidt , gcc-patches@gcc.gnu.org From: Jeff Law Message-ID: <56675FAF.40504@redhat.com> Date: Tue, 08 Dec 2015 22:54:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1449523136.4788.101.camel@ubuntu-sellcey> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-12/txt/msg00931.txt.bz2 On 12/07/2015 02:18 PM, Steve Ellcey wrote: > On Mon, 2015-12-07 at 12:30 -0700, Jeff Law wrote: >> On 12/07/2015 12:28 PM, Bernd Schmidt wrote: >>> On 12/07/2015 07:54 PM, Steve Ellcey wrote: >>>> if (must_annul) >>>> - used_annul = 1; >>>> + { >>>> + /* Frame related instructions cannot go into annulled delay >>>> + slots, it messes up the dwarf info. */ >>>> + if (RTX_FRAME_RELATED_P (trial)) >>>> + return; >>> >>> Don't you need to use break rather than return? >>> >>>> + else if (!RTX_FRAME_RELATED_P (trial) \ >>> >>> Stray backslash >>> Other than that I think this is OK. There are some preexisting tests for >>> frame related insns already in this code. >> Also note there's probably port cleanup that could happen once this goes >> in. IIRC the PA port (for example) explicitly disallows frame related >> insns from many (most, all?) delay slots. Other targets may be doing >> something similar. >> >> jeff > > If I had remembered/seen that code in pa.md earlier I might have fixed > MIPS the same way. Oh well, I guess changing reorg.c is the better way > to do it since it can be shared now. Agreed. > executed when the branch is taken (vs. untaken). I think > steal_delay_list_from_fallthrough is only going to be used when the > delay slot is executed on a branch-not-taken. Are there any machines > like that? ? I don't think it's restricted to cases where the delay slot is executed only on a branch-not-taken. Jeff