summaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1994-04-20 23:38:22 +0000
committerDoug Evans <dje@gnu.org>1994-04-20 23:38:22 +0000
commitc27c5281ceb7ece21291237c93135a7432d51c99 (patch)
treee59a3e90f0fe631e21a5f67c29258476de3b9719 /gcc/regclass.c
parent34d0205f1735df038f2b7122fbf526a144cc05e0 (diff)
downloadgcc-c27c5281ceb7ece21291237c93135a7432d51c99.tar.gz
(init_reg_sets_1): Make static.
(init_reg_modes): New function. (init_regs): Likewise. From-SVN: r7104
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 69ed76140e3..593f3a95084 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -356,7 +356,7 @@ init_reg_sets ()
/* After switches have been processed, which perhaps alter
`fixed_regs' and `call_used_regs', convert them to HARD_REG_SETs. */
-void
+static void
init_reg_sets_1 ()
{
register int i;
@@ -398,17 +398,35 @@ init_reg_sets_1 ()
if (call_fixed_regs[i])
SET_HARD_REG_BIT (call_fixed_reg_set, i);
}
+}
+
+/* Compute the table of register modes.
+ These values are used to record death information for individual registers
+ (as opposed to a multi-register mode). */
- /* Compute the table of register modes.
- These values are used to record death information for individual registers
- (as opposed to a multi-register mode).
- This can't be done until HARD_REGNO_NREGS and HARD_REGNO_MODE_OK are
- usable which is after OVERRIDE_OPTIONS on some targets. */
+static void
+init_reg_modes ()
+{
+ register int i;
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
reg_raw_mode[i] = choose_hard_reg_mode (i, 1);
}
+/* Finish initializing the register sets and
+ initialize the register modes. */
+
+void
+init_regs ()
+{
+ /* This finishes what was started by init_reg_sets, but couldn't be done
+ until after register usage was specified. */
+ if (!output_bytecode)
+ init_reg_sets_1 ();
+
+ init_reg_modes ();
+}
+
/* Return a machine mode that is legitimate for hard reg REGNO and large
enough to save nregs. If we can't find one, return VOIDmode. */