summaryrefslogtreecommitdiff
path: root/gcc/reginfo.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-12 18:53:08 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-12 18:53:08 +0000
commitc346048138d4be57998cc1ee03488c479e68280a (patch)
treed708b56be81952da9c5f1952199355f972230b0e /gcc/reginfo.c
parent821d4118ed3be0ae51441187a8df45219b3cfdec (diff)
downloadgcc-c346048138d4be57998cc1ee03488c479e68280a.tar.gz
gcc/
* Makefile.in (target-globals.o): Depend on $(REGS_H). * regs.h (target_reg_modes): New structure. (default_target_reg_modes): Declare. (this_target_reg_modes): Declare as a variable or define as a macro. (hard_regno_nregs, reg_raw_mode): Redefine as macros. * reginfo.c (default_target_reg_modes): New variable. (this_target_reg_modes): New conditional variable. (hard_regno_nregs, reg_raw_mode): Delete. * target-globals.h (this_target_regs): Declare. (target_globals): Add a regs field. (restore_target_globals): Copy the regs field to this_target_regs. * target-globals.c: Include regs.h. (default_target_globals): Initialize the regs field. (save_target_globals): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162087 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reginfo.c')
-rw-r--r--gcc/reginfo.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index a9d29c83565..87bc630daf3 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -59,6 +59,11 @@ along with GCC; see the file COPYING3. If not see
int max_regno;
+struct target_regs default_target_regs;
+#if SWITCHABLE_TARGET
+struct target_regs *this_target_regs = &default_target_regs;
+#endif
+
/* Register tables used by many passes. */
/* Indexed by hard register number, contains 1 for registers
@@ -175,12 +180,6 @@ const char * reg_names[] = REGISTER_NAMES;
/* Array containing all of the register class names. */
const char * reg_class_names[] = REG_CLASS_NAMES;
-/* For each hard register, the widest mode object that it can contain.
- This will be a MODE_INT mode if the register can hold integers. Otherwise
- it will be a MODE_FLOAT or a MODE_CC mode, whichever is valid for the
- register. */
-enum machine_mode reg_raw_mode[FIRST_PSEUDO_REGISTER];
-
/* 1 if there is a register of given mode. */
bool have_regs_of_mode [MAX_MACHINE_MODE];
@@ -209,9 +208,6 @@ static GTY(()) rtx top_of_stack[MAX_MACHINE_MODE];
reginfo has been initialized. */
static int no_global_reg_vars = 0;
-/* Specify number of hard registers given machine mode occupy. */
-unsigned char hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
-
/* Given a register bitmap, turn on the bits in a HARD_REG_SET that
correspond to the hard registers, if any, set in that map. This
could be done far more efficiently by having all sorts of special-cases