diff options
author | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-09 13:43:11 +0000 |
---|---|---|
committer | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-09 13:43:11 +0000 |
commit | 747bf50d2641442948a5405c9d5b6f844fa1e898 (patch) | |
tree | 1e2b360a3708a9b833a49b11cda5009cb7f10ed9 /gcc/target.h | |
parent | de4eeeaf0889c5c2d55be8e6c4c253cedfb49c72 (diff) | |
download | gcc-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.h')
-rw-r--r-- | gcc/target.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index 11852430c8d..d1642ef9497 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -872,6 +872,10 @@ struct gcc_target but will be later. */ void (* instantiate_decls) (void); + /* Return true if is OK to use a hard register REGNO as scratch register + in peephole2. */ + bool (* hard_regno_scratch_ok) (unsigned int regno); + /* Functions specific to the C family of frontends. */ struct c { /* Return machine mode for non-standard suffix |