summaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-20 17:30:05 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-20 17:30:05 +0000
commite26dbf6d528736a8db78916c975a5068eae282dc (patch)
tree73514e4f64d84936d90b75c8a73e6fd5958b4ab8 /gcc/target.h
parentd19a6ea01fb5f35c0e3d9fb5b6b7fa3d9d119e5b (diff)
downloadgcc-e26dbf6d528736a8db78916c975a5068eae282dc.tar.gz
* hooks.c (hook_int_void_no_regs): Rename from
hook_reg_class_void_no_regs; change return type. * hooks.h: Update. * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update. * target.h (branch_target_register_class): Change return type to int. Add documentation. * config/sh/sh.c (sh_target_reg_class): Change return type. * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68275 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 4ba369d7d3e..f693868eb57 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -296,8 +296,15 @@ struct gcc_target
not, at the current point in the compilation. */
bool (* cannot_modify_jumps_p) PARAMS ((void));
- enum reg_class (* branch_target_register_class) PARAMS ((void));
- bool (* branch_target_register_callee_saved) PARAMS ((bool));
+ /* Return a register class for which branch target register
+ optimizations should be applied. */
+ int (* branch_target_register_class) PARAMS ((void));
+
+ /* Return true if branch target register optimizations should include
+ callee-saved registers that are not already live during the current
+ function. AFTER_PE_GEN is true if prologues and epilogues have
+ already been generated. */
+ bool (* branch_target_register_callee_saved) PARAMS ((bool after_pe_gen));
/* True if the constant X cannot be placed in the constant pool. */
bool (* cannot_force_const_mem) PARAMS ((rtx));