(thumb_find_work_register): Check all of the argument registers to see if they
commit53f179c0e553180244c2fdefecc79063d15c1149
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Mar 2005 10:22:53 +0000 (1 10:22 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Mar 2005 10:22:53 +0000 (1 10:22 +0000)
tree5eb33112261fe0a0e059cab4a19b100eb34b9268
parentf05abcd9b9d091394fa2ba03987dfd036301eef4
(thumb_find_work_register): Check all of the argument registers to see if they
are free, and a couple of special cases where the last argument register but
can be proved to be available during the function's prologue.
(print_multi_reg, arm_compute_save_reg0_reg12_mask, output_return_instruction,
emit_multi_reg_push, thumb_pushpop, thumb_unexpanded_epilogue): Use unsigned
long as the type for the register bit-mask.
(thumb_compute_save_reg_mask): Likewise.  Also use thumb_find_work_register()
to ensure that there is agreement about which work register is going to be
used in the prologue.
(thumb_output_function_prologue): Use unsigned long as the type for the
register bit-mask.  Also delay pushing the link register if other high
registers are going to be pushed.
(thumb_compute_save_reg_mask, emit_multi_reg_push, print_multi-reg,
number_of_first_bit_set, thumb_pushpop): Remove redundant prototypes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95736 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c