From 2842011664f2dd313ab8f5784fadc36ecb9f57cf Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Thu, 14 Aug 2003 01:47:31 +0000 Subject: [PATCH] regclass.c (init_reg_modes): Make non-static. * 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 | 9 +++++++++ gcc/emit-rtl.c | 3 +++ gcc/regclass.c | 7 ++----- gcc/rtl.h | 1 + gcc/toplev.c | 5 ++--- 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 + + * 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 * 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 (); -- 2.30.2