aboutsummaryrefslogtreecommitdiff
path: root/gcc/regs.h
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1995-12-31 19:32:57 -0700
committerJeff Law <law@gcc.gnu.org>1995-12-31 19:32:57 -0700
commit6cad67d2d0789487217a2091c2f14d48f9e1ad6b (patch)
tree6954fbd4d8694312315db4ec5b21e6a62873aec7 /gcc/regs.h
parent6e81958a66749a62fdd4f50de26e52a10fa559da (diff)
downloadgcc-6cad67d2d0789487217a2091c2f14d48f9e1ad6b.zip
gcc-6cad67d2d0789487217a2091c2f14d48f9e1ad6b.tar.gz
gcc-6cad67d2d0789487217a2091c2f14d48f9e1ad6b.tar.bz2
hard-reg-set.h (losing_caller_save_reg_set): Declare.
* hard-reg-set.h (losing_caller_save_reg_set): Declare. * regclass.c (losing_caller_save_reg_set): Define. (init_reg_sets_1): Initialize losing_caller_save_reg_set. * global.c (find_reg): Avoid caller-saving registers in LOSING_CALLER_SAVE_REGS if it's defined. * local-alloc.c (find_free_reg): Avoid caller-saving registers in losing_caller_save_reg_set. (CLASS_LIKELY_SPILLED_P): Delete definition. Moved into regs.h. * regs.h (CLASS_LIKELY_SPILLED_P): Define if not already defined. From-SVN: r10926
Diffstat (limited to 'gcc/regs.h')
-rw-r--r--gcc/regs.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/regs.h b/gcc/regs.h
index 17293d6..c26528d 100644
--- a/gcc/regs.h
+++ b/gcc/regs.h
@@ -176,6 +176,12 @@ extern int caller_save_needed;
#define CALLER_SAVE_PROFITABLE(REFS, CALLS) (4 * (CALLS) < (REFS))
#endif
+/* On most machines a register class is likely to be spilled if it
+ only has one register. */
+#ifndef CLASS_LIKELY_SPILLED_P
+#define CLASS_LIKELY_SPILLED_P(CLASS) (reg_class_size[(int) (CLASS)] == 1)
+#endif
+
/* Allocated in local_alloc. */
/* A list of SCRATCH rtl allocated by local-alloc. */