Hans-Peter Nilsson <hans-peter.nils...@axis.com> writes: >> From: Richard Sandiford <rdsandif...@googlemail.com> >> Date: Wed, 1 Jul 2015 23:26:59 +0200 > >> Hans-Peter Nilsson <hans-peter.nils...@axis.com> writes: >> >> From: Richard Sandiford <richard.sandif...@arm.com> >> >> 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