X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fhard-reg-set.h;h=272a2394d5d486b120a85cb920562bc6229b7e20;hp=7e17caba9df939f5eb5d9fbebf58997dcbe094bd;hb=5dc5fe13a90f2df4a29038f17056adc410ec1efe;hpb=e1ab78748da58d43da7f08cc64b9de80577f470e diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h index 7e17caba9df..272a2394d5d 100644 --- a/gcc/hard-reg-set.h +++ b/gcc/hard-reg-set.h @@ -1,5 +1,5 @@ /* Sets (bit vectors) of hard registers, and operations on them. - Copyright (C) 1987, 1992, 1994, 2000, 2003, 2004, 2005, 2007 + Copyright (C) 1987, 1992, 1994, 2000, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC @@ -19,7 +19,7 @@ along with GCC; see the file COPYING3. If not see . */ #ifndef GCC_HARD_REG_SET_H -#define GCC_HARD_REG_SET_H +#define GCC_HARD_REG_SET_H /* Define the type of a set of hard registers. */ @@ -500,10 +500,10 @@ typedef struct #define HARD_REG_ELT_BITS UHOST_BITS_PER_WIDE_INT -/* The implementation of the iterator functions is fully analogous to +/* The implementation of the iterator functions is fully analogous to the bitmap iterators. */ static inline void -hard_reg_set_iter_init (hard_reg_set_iterator *iter, HARD_REG_SET set, +hard_reg_set_iter_init (hard_reg_set_iterator *iter, HARD_REG_SET set, unsigned min, unsigned *regno) { #ifdef HARD_REG_SET_LONGS @@ -525,7 +525,7 @@ hard_reg_set_iter_init (hard_reg_set_iterator *iter, HARD_REG_SET set, *regno = min; } -static inline bool +static inline bool hard_reg_set_iter_set (hard_reg_set_iterator *iter, unsigned *regno) { while (1) @@ -544,7 +544,7 @@ hard_reg_set_iter_set (hard_reg_set_iterator *iter, unsigned *regno) } return (*regno < FIRST_PSEUDO_REGISTER); } - + /* Round to the beginning of the next word. */ *regno = (*regno + HARD_REG_ELT_BITS - 1); *regno -= *regno % HARD_REG_ELT_BITS; @@ -600,19 +600,11 @@ extern char call_really_used_regs[]; /* The same info as a HARD_REG_SET. */ extern HARD_REG_SET call_used_reg_set; - -/* Registers that we don't want to caller save. */ -extern HARD_REG_SET losing_caller_save_reg_set; - -/* Indexed by hard register number, contains 1 for registers that are - fixed use -- i.e. in fixed_regs -- or a function value return register - or TARGET_STRUCT_VALUE_RTX or STATIC_CHAIN_REGNUM. These are the - registers that cannot hold quantities across calls even if we are - willing to save and restore them. */ -extern char call_fixed_regs[FIRST_PSEUDO_REGISTER]; - -/* The same info as a HARD_REG_SET. */ +/* Contains registers that are fixed use -- i.e. in fixed_reg_set -- or + a function value return register or TARGET_STRUCT_VALUE_RTX or + STATIC_CHAIN_REGNUM. These are the registers that cannot hold quantities + across calls even if we are willing to save and restore them. */ extern HARD_REG_SET call_fixed_reg_set;