Problem in reload.c/rtlanal.c on powerpc-unknown-linux-gnu

Joern Rennecke amylaar@cygnus.co.uk
Tue Nov 3 21:42:00 GMT 1998


> I don't know if my patch covers the real bug or if it is correct.

No, it doesn't cover the real bug.
Please try this patch:

Wed Nov  4 05:34:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>

	* reload.c (find_reloads): Fix test for usage by other reload
	to handle secondary reloads properly.

Index: reload.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v
retrieving revision 1.53
diff -p -r1.53 reload.c
*** reload.c	1998/10/27 22:38:37	1.53
--- reload.c	1998/11/04 05:35:50
*************** find_reloads (insn, replace, ind_levels,
*** 4104,4110 ****
  		for (j = n_reloads - 1; j > first_num; j--)
  		  {
  		    if (reload_when_needed[j] == type
! 			&& reg_mentioned_p (reload_in[i], reload_in[j]))
  		      {
  			reload_when_needed[i] = type;
  			break;
--- 4104,4112 ----
  		for (j = n_reloads - 1; j > first_num; j--)
  		  {
  		    if (reload_when_needed[j] == type
! 			&& (reload_secondary_p[i]
! 			    ? reload_secondary_in_reload[j] == i
! 			    : reg_mentioned_p (reload_in[i], reload_in[j])))
  		      {
  			reload_when_needed[i] = type;
  			break;



More information about the Gcc-bugs mailing list