function.c (keep_stack_depressed): Check global_live_at_start of EXIT_BLOCK for temp register and verify it isn't...

* 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.

From-SVN: r47706
This commit is contained in:
Richard Kenner 2001-12-06 02:44:57 +00:00 committed by Richard Kenner
parent f3465a4445
commit b5ed05aac9
2 changed files with 11 additions and 1 deletions

View file

@ -1,3 +1,8 @@
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.
2001-12-05 David O'Brien <obrien@FreeBSD.org>
* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,

View file

@ -7241,7 +7241,12 @@ keep_stack_depressed (seq)
if (HARD_REGNO_MODE_OK (regno, Pmode)
&& !fixed_regs[regno]
&& TEST_HARD_REG_BIT (regs_invalidated_by_call, regno)
&& !FUNCTION_VALUE_REGNO_P (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;
if (regno == FIRST_PSEUDO_REGISTER)