aboutsummaryrefslogtreecommitdiff
path: root/gcc/caller-save.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2010-07-12 18:54:17 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2010-07-12 18:54:17 +0000
commitbcbaaba1a33590a2795a9e49228943466e360315 (patch)
tree5eb3ab86331c6edc711e274c6b449087603a4829 /gcc/caller-save.c
parent462f85cedc8375e893fd1179f5ecab498085c78d (diff)
downloadgcc-bcbaaba1a33590a2795a9e49228943466e360315.zip
gcc-bcbaaba1a33590a2795a9e49228943466e360315.tar.gz
gcc-bcbaaba1a33590a2795a9e49228943466e360315.tar.bz2
defaults.h (MAX_MOVE_MAX, [...]): Define if not defined.
gcc/ * defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined. * libgcc2.c (MIN_UNITS_PER_WORD): Delete. * hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set. (no_caller_save_reg_set): Redefine as a macro. * reload.h (target_reload): Add x_caller_save_initialized_p and x_regno_save_mode. (caller_save_initialized_p): Redefine as a macro. * caller-save.c (caller_save_initialized_p, no_caller_save_reg_set) (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete. (regno_save_mode): Redefine as a macro. From-SVN: r162095
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r--gcc/caller-save.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 996bb9b..3bd41f2 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -41,30 +41,10 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "ggc.h"
-/* True if caller-save has been initialized. */
-bool caller_save_initialized_p;
-
-/* Call used hard registers which can not be saved because there is no
- insn for this. */
-HARD_REG_SET no_caller_save_reg_set;
-
-#ifndef MAX_MOVE_MAX
-#define MAX_MOVE_MAX MOVE_MAX
-#endif
-
-#ifndef MIN_UNITS_PER_WORD
-#define MIN_UNITS_PER_WORD UNITS_PER_WORD
-#endif
-
#define MOVE_MAX_WORDS (MOVE_MAX / UNITS_PER_WORD)
-/* Modes for each hard register that we can save. The smallest mode is wide
- enough to save the entire contents of the register. When saving the
- register because it is live we first try to save in multi-register modes.
- If that is not possible the save is done one register at a time. */
-
-static enum machine_mode
- regno_save_mode[FIRST_PSEUDO_REGISTER][MAX_MOVE_MAX / MIN_UNITS_PER_WORD + 1];
+#define regno_save_mode \
+ (this_target_reload->x_regno_save_mode)
/* For each hard register, a place on the stack where it can be saved,
if needed. */