regclass.c (init_reg_modes): Make non-static.
authorPer Bothner <pbothner@apple.com>
Thu, 14 Aug 2003 01:47:31 +0000 (01:47 +0000)
committerPer Bothner <bothner@gcc.gnu.org>
Thu, 14 Aug 2003 01:47:31 +0000 (18:47 -0700)
* 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.

From-SVN: r70426

gcc/ChangeLog
gcc/emit-rtl.c
gcc/regclass.c
gcc/rtl.h
gcc/toplev.c

index c91f30128bd55589d6a7f8253fc4f20ff2eacf90..104599baae1fce8a6510bc1c8bc1ccb25f82e4dc 100644 (file)
@@ -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
index f88c5bf09030ad564bce545f5bd6d2ffab57daff..95b40ec508f357ae469819a79c0d270a8ac05884 100644 (file)
@@ -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,
index ec636d777aa9f4e9c702e2616c05e3c935340c09..9c496b6afdc10be871df45fb78c7df647520b686 100644 (file)
@@ -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 ();
 }
 
index 80b9e31e797654890f47fc1152f6baf2aeb2d06e..82dddc74fa004739256f0a19d89c0eda29e5117b 100644 (file)
--- 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);
index 15c0062b054908d59331ac0920e3bdc3e3cf0409..418fa3575eef58881596a6b585617de962c8a06b 100644 (file)
@@ -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 ();