summaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-27 22:44:31 +0000
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-27 22:44:31 +0000
commit4bac51c921d817806b80efb4d906a77e83ffb8db (patch)
treea6eef89a2a1f2599082334f22265eeb9df63eb58 /gcc/targhooks.c
parent5290e253566fa886ab7c826c06665c98f3f0e36d (diff)
downloadgcc-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.c10
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 }