This is the mail archive of the gcc@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]

Re: PPro and egcs


Here is a kludge I used. It seems to work ok. But I have another
ppro bug which I repored earlier.


H.J.
----
Fri Oct 31 17:20:53 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* reload1.c (allocate_reload_reg): Check is the spill register
	is already used in INSN.

Index: reload1.c
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/reload1.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 reload1.c
--- reload1.c	1997/08/26 00:20:42	1.1.1.1
+++ reload1.c	1997/10/31 23:21:24
@@ -5086,7 +5090,12 @@
 		  || (TEST_HARD_REG_BIT (reload_reg_used_at_all,
 					 spill_regs[i])
 		      && ! TEST_HARD_REG_BIT (reload_reg_used_for_inherit,
-					      spill_regs[i]))))
+					      spill_regs[i])))
+		 /* The spill register may be used in INSN as the
+		    return value from a previous function call. */
+		 && !refers_to_regno_p (spill_regs[i],
+					spill_regs[i] + 1,
+					PATTERN (insn), NULL_PTR))
 	    {
 	      int nr = HARD_REGNO_NREGS (spill_regs[i], reload_mode[r]);
 	      /* Avoid the problem where spilling a GENERAL_OR_FP_REG


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