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]

ia64 bug fixes for make bootstrap


This fixes some problems found by a make bootstrap.  The ia64.c change is
needed because of the Feb 9 change to reload.  The ia64.h change eliminates
some warning messages during the bootstrap.

make bootstrap now gets as far as the libobjc build where it fails because of
a problem with builtin_apply.  I'll have to look at that next.

Sat Mar 11 23:54:26 2000  Jim Wilson  <wilson@cygnus.com>

	* config/ia64/ia64.c (ia64_compute_frame_size): Align size to
	STACK_BOUNDARY.
	* config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses.

Index: ia64.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/ia64/ia64.c,v
retrieving revision 1.2
diff -p -r1.2 ia64.c
*** ia64.c	2000/03/09 21:06:33	1.2
--- ia64.c	2000/03/12 03:03:55
*************** ia64_compute_frame_size (size)
*** 521,526 ****
--- 521,530 ----
    int regno;
    HARD_REG_SET mask;
  
+   /* Reload used to round the frame size to STACK_BOUNDARY.  Now we do it
+      here.  */
+   size = IA64_STACK_ALIGN (size);
+ 
    CLEAR_HARD_REG_SET (mask);
  
    /* Calculate space needed for general registers.  */
Index: ia64.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/ia64/ia64.h,v
retrieving revision 1.1
diff -p -r1.1 ia64.h
*** ia64.h	2000/03/09 00:26:04	1.1
--- ia64.h	2000/03/12 03:03:55
*************** do {									\
*** 1907,1916 ****
  
  #define REGISTER_MOVE_COST(FROM, TO) \
  ((FROM) == BR_REGS && (TO) == BR_REGS ? 8				\
!  : ((FROM) == BR_REGS && (TO) != GENERAL_REGS				\
!     || (TO) == BR_REGS && (FROM) != GENERAL_REGS) ? 6			\
!  : ((FROM) == FR_FP_REGS && (TO) == FR_INT_REGS				\
!     || (FROM) == FR_INT_REGS && (TO) == FR_FP_REGS) ? 4			\
   : 2)
  
  /* A C expression for the cost of moving data of mode M between a register and
--- 1907,1916 ----
  
  #define REGISTER_MOVE_COST(FROM, TO) \
  ((FROM) == BR_REGS && (TO) == BR_REGS ? 8				\
!  : (((FROM) == BR_REGS && (TO) != GENERAL_REGS)				\
!     || ((TO) == BR_REGS && (FROM) != GENERAL_REGS)) ? 6			\
!  : (((FROM) == FR_FP_REGS && (TO) == FR_INT_REGS)			\
!     || ((FROM) == FR_INT_REGS && (TO) == FR_FP_REGS)) ? 4		\
   : 2)
  
  /* A C expression for the cost of moving data of mode M between a register and

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