summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-14 01:47:31 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-14 01:47:31 +0000
commitc235b58a9960d521ea6a36f5a1deb0821dced436 (patch)
tree306712cf301a45c74786d429176b00ca9028d9dc
parenta99eb96d97c5a49aebecbb58a7cad6ac8eedeb12 (diff)
downloadgcc-c235b58a9960d521ea6a36f5a1deb0821dced436.tar.gz
* regclass.c (init_reg_modes): Make non-static.
Rename to init_reg_modes_once per new naming convention. (init_regs): Don't call init_reg_modes here. * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead. * rtl.h (init_reg_modes_once): New declaration. * toplev.c (backend_init): Call init_regs after init_emit_once. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70426 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/emit-rtl.c3
-rw-r--r--gcc/regclass.c7
-rw-r--r--gcc/rtl.h1
-rw-r--r--gcc/toplev.c5
5 files changed, 17 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c91f30128bd..104599baae1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2003-08-13 Per Bothner <pbothner@apple.com>
+
+ * regclass.c (init_reg_modes): Make non-static.
+ Rename to init_reg_modes_once per new naming convention.
+ (init_regs): Don't call init_reg_modes here.
+ * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
+ * rtl.h (init_reg_modes_once): New declaration.
+ * toplev.c (backend_init): Call init_regs after init_emit_once.
+
2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index f88c5bf0903..95b40ec508f 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -5317,6 +5317,9 @@ init_emit_once (int line_numbers)
enum machine_mode mode;
enum machine_mode double_mode;
+ /* We need reg_raw_mode, so initialize the modes now. */
+ init_reg_modes_once ();
+
/* Initialize the CONST_INT, CONST_DOUBLE, and memory attribute hash
tables. */
const_int_htab = htab_create_ggc (37, const_int_htab_hash,
diff --git a/gcc/regclass.c b/gcc/regclass.c
index ec636d777aa..9c496b6afdc 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -46,7 +46,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "timevar.h"
static void init_reg_sets_1 (void);
-static void init_reg_modes (void);
static void init_reg_autoinc (void);
/* If we have auto-increment or auto-decrement and we can have secondary
@@ -546,8 +545,8 @@ init_reg_sets_1 (void)
These values are used to record death information for individual registers
(as opposed to a multi-register mode). */
-static void
-init_reg_modes (void)
+void
+init_reg_modes_once (void)
{
int i;
@@ -575,8 +574,6 @@ init_regs (void)
until after register usage was specified. */
init_reg_sets_1 ();
- init_reg_modes ();
-
init_reg_autoinc ();
}
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 80b9e31e797..82dddc74fa0 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2149,6 +2149,7 @@ extern void build_insn_chain (rtx);
extern int reg_classes_intersect_p (enum reg_class, enum reg_class);
extern int reg_class_subset_p (enum reg_class, enum reg_class);
extern void globalize_reg (int);
+extern void init_reg_modes_once (void);
extern void init_regs (void);
extern void init_fake_stack_mems (void);
extern void init_reg_sets (void);
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 15c0062b054..418fa3575ee 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -4250,9 +4250,6 @@ process_options (void)
static void
backend_init (void)
{
- /* init_emit_once uses reg_raw_mode and therefore must be called
- after init_regs which initialized reg_raw_mode. */
- init_regs ();
init_emit_once (debug_info_level == DINFO_LEVEL_NORMAL
|| debug_info_level == DINFO_LEVEL_VERBOSE
#ifdef VMS_DEBUGGING_INFO
@@ -4261,6 +4258,8 @@ backend_init (void)
#endif
|| flag_test_coverage
|| warn_notreached);
+
+ init_regs ();
init_fake_stack_mems ();
init_alias_once ();
init_loop ();