This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Minor fix to finding temp register in keep_stack_depressed
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 5 Dec 01 21:42:15 EST
- Subject: Minor fix to finding temp register in keep_stack_depressed
As suggested by RTH. Used only by Ada not yet enabled, so lightly
tested.
Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* function.c (keep_stack_depressed): Check global_live_at_start
of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
*** function.c 2001/12/05 22:37:27 1.332
--- function.c 2001/12/06 00:13:32
*************** keep_stack_depressed (seq)
*** 7242,7246 ****
&& !fixed_regs[regno]
&& TEST_HARD_REG_BIT (regs_invalidated_by_call, regno)
! && !FUNCTION_VALUE_REGNO_P (regno))
break;
--- 7242,7251 ----
&& !fixed_regs[regno]
&& TEST_HARD_REG_BIT (regs_invalidated_by_call, regno)
! && !REGNO_REG_SET_P (EXIT_BLOCK_PTR->global_live_at_start,
! regno)
! && !refers_to_regno_p (regno,
! regno + HARD_REGNO_NREGS (regno,
! Pmode),
! info.equiv_reg_src, NULL))
break;