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]

[new-regalloc-branch] small fix in `undef_to_bitmap'



Wed Aug  1 23:40:05 2001  Denis Chertykov  <denisc@overta.ru>

	* ra.c (undef_to_bitmap): Handle more variants of *undefined.


Index: ra.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Attic/ra.c,v
retrieving revision 1.1.2.27
diff -c -3 -p -r1.1.2.27 ra.c
*** ra.c	2001/08/01 19:45:13	1.1.2.27
--- ra.c	2001/08/01 19:51:38
*************** undef_to_bitmap (wp, undefined)
*** 620,626 ****
        case 0xff00 : *undefined = 0; return get_sub_conflicts (wp, 8, 8);
        case 0xfff0 : *undefined = 0xf0; return get_sub_conflicts (wp, 8, 8);
        case 0xffff : *undefined = 0; return get_sub_conflicts (wp, 16, 0);
!       default : break;
      }
    /* XXX */
    abort ();
--- 620,641 ----
        case 0xff00 : *undefined = 0; return get_sub_conflicts (wp, 8, 8);
        case 0xfff0 : *undefined = 0xf0; return get_sub_conflicts (wp, 8, 8);
        case 0xffff : *undefined = 0; return get_sub_conflicts (wp, 16, 0);
!       default :
! 	{
! 	  unsigned HOST_WIDE_INT u = *undefined;
! 	  int word;
! 	  int size;
! 	  
! 	  for (word = 0; ! (u & 1); ++word)
! 	    u >>= 1;
! 	  for (size = 0; u & 1; ++size)
! 	    u >>= 1;
! 	  if (u)
! 	    abort ();
! 	  *undefined = u;
! 	  return get_sub_conflicts (wp, size, word);
! 	}
! 	break;
      }
    /* XXX */
    abort ();


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