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]

[new-regalloc-branch]: (try_recolor_web) reset colors bugfix




Thu Feb 28 22:14:34 2002  Denis Chertykov  <denisc@overta.ru>

	* ra.c: (try_recolor_web): Restore original colors: spilled,
	allocated.

Index: ra.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Attic/ra.c,v
retrieving revision 1.1.2.47
diff -c -3 -p -r1.1.2.47 ra.c
*** ra.c	2002/02/04 21:26:21	1.1.2.47
--- ra.c	2002/02/28 19:22:26
*************** try_recolor_web (web)
*** 5884,5895 ****
  	  for (wl = web->conflict_list; wl; wl = wl->next)
  	    {
  	      struct web *web2 = alias (wl->t);
! 	      if (web2->type == SPILLED && old_colors[web2->id])
  		{
! 		  remove_list (web2->dlink, &WEBS(SPILLED));
! 		  web2->color = old_colors[web2->id] - 1;
! 		  put_web (web2, COLORED);
! 		}
  	    }
  	}
        free (old_colors);
--- 5884,5901 ----
  	  for (wl = web->conflict_list; wl; wl = wl->next)
  	    {
  	      struct web *web2 = alias (wl->t);
! 	      if (old_colors[web2->id])
  		{
! 		  if (web2->type == SPILLED)
! 		    {
! 		      remove_list (web2->dlink, &WEBS(SPILLED));
! 		      web2->color = old_colors[web2->id] - 1;
! 		      put_web (web2, COLORED);
! 		    }
! 		  else if (web2->type == COLORED)
! 		    web2->color = old_colors[web2->id] - 1;
! 		  else
! 		    abort ();
  	    }
  	}
        free (old_colors);


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