summaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2008-07-09 17:43:11 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2008-07-09 17:43:11 +0400
commitdbc42c44d87ef1031c3f649436df02fbcdbcc3c6 (patch)
tree1e2b360a3708a9b833a49b11cda5009cb7f10ed9 /gcc/target-def.h
parent28f16d05a00d360b76f3c48ac739bcab22fb1418 (diff)
downloadgcc-dbc42c44d87ef1031c3f649436df02fbcdbcc3c6.tar.gz
target.h (struct gcc_target): Add hard_regno_scratch_ok field.
* 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. From-SVN: r137657
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, \