From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 41938 invoked by alias); 2 Jul 2015 18:58:27 -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 41923 invoked by uid 89); 2 Jul 2015 18:58:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f41.google.com Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com) (74.125.82.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 02 Jul 2015 18:58:20 +0000 Received: by wgjx7 with SMTP id x7so70691407wgj.2 for ; Thu, 02 Jul 2015 11:58:17 -0700 (PDT) X-Received: by 10.194.109.36 with SMTP id hp4mr63955185wjb.4.1435863497178; Thu, 02 Jul 2015 11:58:17 -0700 (PDT) Received: from localhost ([95.144.14.193]) by smtp.googlemail.com with ESMTPSA id az1sm10322038wib.0.2015.07.02.11.58.16 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Jul 2015 11:58:16 -0700 (PDT) From: Richard Sandiford To: Hans-Peter Nilsson Mail-Followup-To: Hans-Peter Nilsson ,richard.sandiford@arm.com, gcc-patches@gcc.gnu.org, rdsandiford@googlemail.com Cc: richard.sandiford@arm.com, gcc-patches@gcc.gnu.org Subject: Re: Fixed Regressions with "[committed] Use target-insns.def for prologue & epilogue insns" References: <201507021126.t62BQPN6026640@ignucius.se.axis.com> Date: Thu, 02 Jul 2015 18:58:00 -0000 In-Reply-To: <201507021126.t62BQPN6026640@ignucius.se.axis.com> (Hans-Peter Nilsson's message of "Thu, 2 Jul 2015 13:26:25 +0200") Message-ID: <87r3oq75fc.fsf@googlemail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2015-07/txt/msg00153.txt.bz2 Hans-Peter Nilsson writes: >> From: Richard Sandiford >> Date: Wed, 1 Jul 2015 23:26:59 +0200 > >> Hans-Peter Nilsson writes: >> >> From: Richard Sandiford >> >> Date: Tue, 30 Jun 2015 22:55:24 +0200 >> > >> >> Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. >> >> Also tested via config-list.mk. Committed as preapproved. >> >> >> >> Thanks, >> >> Richard >> >> >> >> >> >> gcc/ >> >> * defaults.h (HAVE_epilogue, gen_epilogue): Delete. >> >> * target-insns.def (epilogue, prologue, sibcall_prologue): New >> >> targetm instruction patterns. >> >> * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_* >> >> interface. >> >> * calls.c (expand_call): Likewise. >> >> * cfgrtl.c (cfg_layout_finalize): Likewise. >> >> * df-scan.c (df_get_entry_block_def_set): Likewise. >> >> (df_get_exit_block_use_set): Likewise. >> >> * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise. >> >> * final.c (final_start_function): Likewise. >> >> * function.c (thread_prologue_and_epilogue_insns): Likewise. >> >> (reposition_prologue_and_epilogue_notes): Likewise. >> >> * reorg.c (find_end_label): Likewise. >> >> * toplev.c (process_options): Likewise. >> > >> > I think this one -being the most fitting patch in the range >> > (225190:225210]- caused this regression for cris-elf: >> > >> > Running >> > /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp >> > ... >> > FAIL: gcc.target/cris/torture/no-pro-epi-1.c -O3 -g (internal >> > compiler error) >> > FAIL: gcc.target/cris/torture/no-pro-epi-1.c -O3 -g (test for excess >> > errors) >> > >> > This test checks that the -mno-prologue-epilogue option works, >> > whose semantics is supposedly self-explanatory. >> >> Well, yes and no :-) > > Hm...I take that as an affirmation on the regression but perhaps > a "no" to some of the my statements... Just the semantics being self-explanatory. It wasn't obvious to me what we were supposed to do with CFI. "Whatever" works for me though... >> which I guess means that the HAVE_prologue condition wasn't being >> consistently tested. Now that it is: is -mno-prologue-epilogue >> just supposed to generate empty prologues and epilogues, as implied >> by the cris.c code? If so then removing the conditions on "prologue" >> and "epilogue" should work. If not, then which of the >> targetm.have_prologue () >> etc. conditions do you need to be true for -mno-prologue-epilogue? >> >> (You have the distinction of having the only port with conditional >> prologue and epilogue patterns. :-)) > > Not any longer. Also removed a stale comment. > This committed patch fixes the noted regressions, without > causing further regressions, testing cris-elf in a simulator. > > gcc: > * config/cris/cris.md ("epilogue"): Remove condition. > ("prologue"): Ditto. Thanks. Richard