/* Define per-register tables for data flow info and register allocation.
Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2003 Free Software Foundation, Inc.
+ 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
This file is part of GCC.
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+#ifndef GCC_REGS_H
+#define GCC_REGS_H
#include "varray.h"
#include "hard-reg-set.h"
extern varray_type reg_n_info;
-extern bitmap_head subregs_of_mode;
-
/* Indexed by n, gives number of times (REG n) is used or set. */
#define REG_N_REFS(N) (VARRAY_REG (reg_n_info, N)->refs)
extern char regs_asm_clobbered[FIRST_PSEUDO_REGISTER];
+/* Vector indexed by machine mode saying whether there are regs of that mode. */
+
+extern bool have_regs_of_mode [MAX_MACHINE_MODE];
+
/* 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
/* Specify number of hard registers given machine mode occupy. */
extern unsigned char hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
+
+#endif /* GCC_REGS_H */