From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18907 invoked by alias); 1 Jul 2015 08:35:01 -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 18892 invoked by uid 89); 1 Jul 2015 08:35:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-oi0-f52.google.com Received: from mail-oi0-f52.google.com (HELO mail-oi0-f52.google.com) (209.85.218.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 01 Jul 2015 08:34:59 +0000 Received: by oiyy130 with SMTP id y130so26729607oiy.0 for ; Wed, 01 Jul 2015 01:34:57 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.92.131 with SMTP id cm3mr23392711oeb.23.1435739697799; Wed, 01 Jul 2015 01:34:57 -0700 (PDT) Received: by 10.76.115.167 with HTTP; Wed, 1 Jul 2015 01:34:57 -0700 (PDT) In-Reply-To: <87h9ponuzs.fsf@e105548-lin.cambridge.arm.com> References: <87h9ponuzs.fsf@e105548-lin.cambridge.arm.com> Date: Wed, 01 Jul 2015 08:35:00 -0000 Message-ID: Subject: Re: PR 66685: parallel returns being misclassified From: Richard Biener To: GCC Patches , richard.sandiford@arm.com Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-07/txt/msg00010.txt.bz2 On Wed, Jul 1, 2015 at 10:27 AM, Richard Sandiford wrote: > This patch should restore bootstrap on hppa (and probably other targets > besides). The change to use target-insns.def put more stress on the > emit()/classify_insn() group of functions, which were missing a case > for parallel returns. > > Tested with a cross-compiler that it fixes the hppa problem. Bootstrap > in progress on x86_64-linux-gnu. OK to install? Ok. Richard. > Sorry for the slow response on this one. I'd misread the PR and thought > that it was the bug fixed in r225000. > > Thanks, > Richard > > > gcc/ > PR bootstrap/66685 > * rtl.c (classify_insn): Handle returns in PARALLELs. > > Index: gcc/rtl.c > =================================================================== > --- gcc/rtl.c 2015-07-01 09:13:29.782160299 +0100 > +++ gcc/rtl.c 2015-07-01 09:13:29.778160333 +0100 > @@ -686,6 +686,8 @@ classify_insn (rtx x) > for (j = XVECLEN (x, 0) - 1; j >= 0; j--) > if (GET_CODE (XVECEXP (x, 0, j)) == CALL) > return CALL_INSN; > + else if (ANY_RETURN_P (XVECEXP (x, 0, j))) > + return JUMP_INSN; > else if (GET_CODE (XVECEXP (x, 0, j)) == SET > && GET_CODE (SET_DEST (XVECEXP (x, 0, j))) == PC) > return JUMP_INSN; >