summaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-09 13:43:11 +0000
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-09 13:43:11 +0000
commit747bf50d2641442948a5405c9d5b6f844fa1e898 (patch)
tree1e2b360a3708a9b833a49b11cda5009cb7f10ed9 /gcc/target-def.h
parentde4eeeaf0889c5c2d55be8e6c4c253cedfb49c72 (diff)
downloadgcc-747bf50d2641442948a5405c9d5b6f844fa1e898.tar.gz
* target.h (struct gcc_target): Add hard_regno_scratch_ok field.
* target-def.h (TARGET_HARD_REGNO_SCRATCH_OK): New. (TARGET_INITIALIZER): Use TARGET_HARD_REGNO_SCRATCH_OK. * targhooks.c (default_hard_regno_scratch_ok): New function. * targhooks.h (default_hard_regno_scratch_ok): Declare function. * doc/tm.texi: Document TARGET_HARD_REGNO_SCRATCH_OK hook. * recog.c: Include "target.h". (peep2_find_free_register): Add check for global regs. Add target specific check. * Makefile.in (recog.o): Depend on target.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137657 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index 7ffb1346021..29ed88873b2 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -619,6 +619,10 @@
#define TARGET_INSTANTIATE_DECLS hook_void_void
#endif
+#ifndef TARGET_HARD_REGNO_SCRATCH_OK
+#define TARGET_HARD_REGNO_SCRATCH_OK default_hard_regno_scratch_ok
+#endif
+
/* C specific. */
#ifndef TARGET_C_MODE_FOR_SUFFIX
#define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix
@@ -846,6 +850,7 @@
TARGET_SECONDARY_RELOAD, \
TARGET_EXPAND_TO_RTL_HOOK, \
TARGET_INSTANTIATE_DECLS, \
+ TARGET_HARD_REGNO_SCRATCH_OK, \
TARGET_C, \
TARGET_CXX, \
TARGET_EMUTLS, \