This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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;
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]