regclass.c (init_reg_sets): Move code that calculates tables dependent on reg_class_contents from here...
* regclass.c (init_reg_sets): Move code that calculates tables dependent on reg_class_contents from here... (init_reg_sets_1): To here. From-SVN: r23858
This commit is contained in:
parent
0b3d776a42
commit
910bc42d0d
@ -1,3 +1,9 @@
|
||||
Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* regclass.c (init_reg_sets): Move code that calculates tables
|
||||
dependent on reg_class_contents from here...
|
||||
(init_reg_sets_1): To here.
|
||||
|
||||
Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* cpplib.h: Delete struct import_file. Add ihash element to
|
||||
|
@ -236,6 +236,25 @@ init_reg_sets ()
|
||||
bcopy (initial_call_used_regs, call_used_regs, sizeof call_used_regs);
|
||||
bzero (global_regs, sizeof global_regs);
|
||||
|
||||
/* Do any additional initialization regsets may need */
|
||||
INIT_ONCE_REG_SET ();
|
||||
}
|
||||
|
||||
/* After switches have been processed, which perhaps alter
|
||||
`fixed_regs' and `call_used_regs', convert them to HARD_REG_SETs. */
|
||||
|
||||
static void
|
||||
init_reg_sets_1 ()
|
||||
{
|
||||
register unsigned int i, j;
|
||||
|
||||
/* This macro allows the fixed or call-used registers
|
||||
and the register classes to depend on target flags. */
|
||||
|
||||
#ifdef CONDITIONAL_REGISTER_USAGE
|
||||
CONDITIONAL_REGISTER_USAGE;
|
||||
#endif
|
||||
|
||||
/* Compute number of hard regs in each class. */
|
||||
|
||||
bzero ((char *) reg_class_size, sizeof reg_class_size);
|
||||
@ -339,25 +358,6 @@ init_reg_sets ()
|
||||
}
|
||||
}
|
||||
|
||||
/* Do any additional initialization regsets may need */
|
||||
INIT_ONCE_REG_SET ();
|
||||
}
|
||||
|
||||
/* After switches have been processed, which perhaps alter
|
||||
`fixed_regs' and `call_used_regs', convert them to HARD_REG_SETs. */
|
||||
|
||||
static void
|
||||
init_reg_sets_1 ()
|
||||
{
|
||||
register unsigned int i, j;
|
||||
|
||||
/* This macro allows the fixed or call-used registers
|
||||
to depend on target flags. */
|
||||
|
||||
#ifdef CONDITIONAL_REGISTER_USAGE
|
||||
CONDITIONAL_REGISTER_USAGE;
|
||||
#endif
|
||||
|
||||
/* Initialize "constant" tables. */
|
||||
|
||||
CLEAR_HARD_REG_SET (fixed_reg_set);
|
||||
|
14
gcc/tm.texi
14
gcc/tm.texi
@ -1357,9 +1357,17 @@ preserve the entire contents of a register across a call.
|
||||
@findex fixed_regs
|
||||
@findex call_used_regs
|
||||
@item CONDITIONAL_REGISTER_USAGE
|
||||
Zero or more C statements that may conditionally modify two variables
|
||||
@code{fixed_regs} and @code{call_used_regs} (both of type @code{char
|
||||
[]}) after they have been initialized from the two preceding macros.
|
||||
Zero or more C statements that may conditionally modify four variables
|
||||
@code{fixed_regs}, @code{call_used_regs}, @code{global_regs}
|
||||
(these three are of type @code{char []}) and @code{reg_class_contents}
|
||||
(of type @code{HARD_REG_SET}).
|
||||
Before the macro is called @code{fixed_regs}, @code{call_used_regs}
|
||||
and @code(reg_class_contents) have been initialized from
|
||||
@code{FIXED_REGISTERS}, @code{CALL_USED_REGISTERS} and
|
||||
@code{REG_CLASS_CONTENTS}, respectively,
|
||||
@code{global_regs} has been cleared, and any @samp{-ffixed-@var{reg}},
|
||||
@samp{-fcall-used-@var{reg}} and @samp{-fcall-saved-@var{reg}} command
|
||||
options have been applied.
|
||||
|
||||
This is necessary in case the fixed or call-clobbered registers depend
|
||||
on target flags.
|
||||
|
Loading…
Reference in New Issue
Block a user