This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ia64 bug fixes for make bootstrap
- To: gcc-patches at gcc dot gnu dot org
- Subject: ia64 bug fixes for make bootstrap
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Sun, 12 Mar 2000 00:10:19 -0800
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