diff options
author | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-27 22:44:31 +0000 |
---|---|---|
committer | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-27 22:44:31 +0000 |
commit | 4bac51c921d817806b80efb4d906a77e83ffb8db (patch) | |
tree | a6eef89a2a1f2599082334f22265eeb9df63eb58 /gcc/targhooks.c | |
parent | 5290e253566fa886ab7c826c06665c98f3f0e36d (diff) | |
download | gcc-4bac51c921d817806b80efb4d906a77e83ffb8db.tar.gz |
2010-10-27 Steve Ellcey <sje@cup.hp.com>
* doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
(TARGET_GET_RAW_ARG_MODE): New.
* doc/tm.texi: Regenerate.
* target.def (get_raw_result_mode): New.
(get_raw_arg_mode): New.
* targhooks.c (default_get_reg_raw_mode): New.
* targhooks.h (default_get_reg_raw_mode): New.
* builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
(apply_result_size): Ditto.
* config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
(TARGET_GET_RAW_RESULT_MODE): Define.
(TARGET_GET_RAW_ARG_MODE): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166021 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r-- | gcc/targhooks.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c index b6aefdbe58f..22bba3b33bc 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -64,6 +64,7 @@ along with GCC; see the file COPYING3. If not see #include "target-def.h" #include "ggc.h" #include "hard-reg-set.h" +#include "regs.h" #include "reload.h" #include "optabs.h" #include "recog.h" @@ -1333,6 +1334,15 @@ sjlj_except_unwind_info (void) return UI_SJLJ; } +/* To be used by targets where reg_raw_mode doesn't return the right + mode for registers used in apply_builtin_return and apply_builtin_arg. */ + +enum machine_mode +default_get_reg_raw_mode(int regno) +{ + return reg_raw_mode[regno]; +} + const struct default_options empty_optimization_table[] = { { OPT_LEVELS_NONE, 0, NULL, 0 } |