aboutsummaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-06-13 10:14:55 -0600
committerJeff Law <law@gcc.gnu.org>2002-06-13 10:14:55 -0600
commit6cde4876448a38c9f47f6a92a72efab9848d7482 (patch)
tree1e31a85b6ad526e69fcd507891472e959a6541de /gcc/regclass.c
parentdd3fbd933dabd20c31e293b0e0cd0714fc9a56ce (diff)
downloadgcc-6cde4876448a38c9f47f6a92a72efab9848d7482.zip
gcc-6cde4876448a38c9f47f6a92a72efab9848d7482.tar.gz
gcc-6cde4876448a38c9f47f6a92a72efab9848d7482.tar.bz2
emit-rtl.c (static_regno_reg_rtx): Define.
* emit-rtl.c (static_regno_reg_rtx): Define. (init_emit_once): Initialize static_regno_reg_rtx. (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead of building new hard reg objects once per function. (gen_rtx_REG): Try to share hard regs. * regclass.c (init_fake_stack_mems): New function broken out from init_regs. * rtl.h (init_fake_stack_mems): Declare. * toplev.c (lang_independent_init): Call init_regs before init_emit_once. Call init_fake_stack_mems after init_emit_once. From-SVN: r54588
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 84c7ba3..6a7acb9 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -601,11 +601,16 @@ init_regs ()
init_reg_sets_1 ();
init_reg_modes ();
+}
+
+/* Initialize some fake stack-frame MEM references for use in
+ memory_move_secondary_cost. */
+void
+init_fake_stack_mems ()
+{
#ifdef HAVE_SECONDARY_RELOADS
{
- /* Make some fake stack-frame MEM references for use in
- memory_move_secondary_cost. */
int i;
for (i = 0; i < MAX_MACHINE_MODE; i++)