summaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-13 16:14:55 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-13 16:14:55 +0000
commit90295bd2e83a3a802eb080cd23c9760a748239de (patch)
tree1e31a85b6ad526e69fcd507891472e959a6541de /gcc/regclass.c
parent61b914265a93af0ff15ab294fa6beb30405dd051 (diff)
downloadgcc-90295bd2e83a3a802eb080cd23c9760a748239de.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54588 138bc75d-0d04-0410-961f-82ee72b054a4
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 84c7ba330bb..6a7acb9793d 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++)