This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Find more shrink-wrapping opportunities
- From: Bernd Schmidt <bernds at codesourcery dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, <rdsandiford at googlemail dot com>
- Date: Mon, 9 Jan 2012 16:08:04 +0100
- Subject: Re: Find more shrink-wrapping opportunities
- References: <4E8CC286.80107@codesourcery.com> <87zkfjnluk.fsf@firetop.home> <4ED5063A.2060809@codesourcery.com> <87hb1mbvl8.fsf@firetop.home> <87d3cabrur.fsf@firetop.home> <87k46ced2q.fsf@firetop.home>
On 12/04/2011 01:27 PM, Richard Sandiford wrote:
> OK, here it is. As well as switching to the backward scan and incremental
> liveness updates, I added a test for another case that I stumbled over:
>
> /* Reject targets of abnormal edges. This is needed for correctness
> on ports like Alpha and MIPS, whose pic_offset_table_rtx can die on
> exception edges even though it is generally treated as call-saved
> for the majority of the compilation. Moving across abnormal edges
> isn't going to be interesting for shrink-wrap usage anyway. */
> if (live_edge->flags & EDGE_ABNORMAL)
> return NULL;
>
> * sched-int.h (bb_note): Move to...
> * basic-block.h: ...here.
> * haifa-sched.c (bb_note): Move to...
> * cfgrtl.c: ...here.
> * function.c (next_block_for_reg): New function.
> (move_insn_for_shrink_wrap): Likewise.
> (prepare_shrink_wrap): Rewrite to use the above.
Ok and thanks.
Bernd