aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-10-20 23:56:58 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-10-20 23:56:58 +0400
commitab177ad53847e22cc5aaf10ffc319060c633cc4f (patch)
tree0e9d4753f3b294a93db44e4981929dd97e700b80
parent604f9a900c90b21ad33328e6a0b2fc1ba84dabd2 (diff)
downloadgcc-ab177ad53847e22cc5aaf10ffc319060c633cc4f.zip
gcc-ab177ad53847e22cc5aaf10ffc319060c633cc4f.tar.gz
gcc-ab177ad53847e22cc5aaf10ffc319060c633cc4f.tar.bz2
ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros. * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove. * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define. (ia64_preferred_reload_class): Make static. Change rclass argument and result types from enum reg_class to reg_class_t. From-SVN: r165734
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/ia64/ia64-protos.h1
-rw-r--r--gcc/config/ia64/ia64.c13
-rw-r--r--gcc/config/ia64/ia64.h8
4 files changed, 17 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4e3c62c..3ec4112 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2010-10-20 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
+ * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
+ * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ (ia64_preferred_reload_class): Make static. Change rclass argument
+ and result types from enum reg_class to reg_class_t.
+
2010-10-20 Pat Haugen <pthaugen@us.ibm.com>
* tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 8a3ff4b..1a9bd87 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -56,7 +56,6 @@ extern int ia64_hard_regno_rename_ok (int, int);
extern void ia64_print_operand_address (FILE *, rtx);
extern void ia64_print_operand (FILE *, rtx, int);
-extern enum reg_class ia64_preferred_reload_class (rtx, enum reg_class);
extern enum reg_class ia64_secondary_reload_class (enum reg_class,
enum machine_mode, rtx);
extern const char *get_bundle_name (int);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index c1135f9..801afa9 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -324,6 +324,8 @@ static void ia64_override_options_after_change (void);
static void ia64_dwarf_handle_frame_unspec (const char *, rtx, int);
static tree ia64_builtin_decl (unsigned, bool);
+
+static reg_class_t ia64_preferred_reload_class (rtx, reg_class_t);
/* Table of valid machine attributes. */
static const struct attribute_spec ia64_attribute_table[] =
@@ -595,6 +597,9 @@ static const struct attribute_spec ia64_attribute_table[] =
#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE ia64_override_options_after_change
+#undef TARGET_PREFERRED_RELOAD_CLASS
+#define TARGET_PREFERRED_RELOAD_CLASS ia64_preferred_reload_class
+
struct gcc_target targetm = TARGET_INITIALIZER;
typedef enum
@@ -5346,11 +5351,11 @@ ia64_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
return 10;
}
-/* Implement PREFERRED_RELOAD_CLASS. Place additional restrictions on RCLASS
- to use when copying X into that class. */
+/* Implement TARGET_PREFERRED_RELOAD_CLASS. Place additional restrictions
+ on RCLASS to use when copying X into that class. */
-enum reg_class
-ia64_preferred_reload_class (rtx x, enum reg_class rclass)
+static reg_class_t
+ia64_preferred_reload_class (rtx x, reg_class_t rclass)
{
switch (rclass)
{
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 98e9b64..5ff206d 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -849,14 +849,6 @@ enum reg_class
This is needed for POST_MODIFY. */
#define REGNO_OK_FOR_INDEX_P(NUM) REGNO_OK_FOR_BASE_P (NUM)
-/* A C expression that places additional restrictions on the register class to
- use when it is necessary to copy value X into a register in class CLASS.
- The value is a register class; perhaps CLASS, or perhaps another, smaller
- class. */
-
-#define PREFERRED_RELOAD_CLASS(X, CLASS) \
- ia64_preferred_reload_class (X, CLASS)
-
/* You should define this macro to indicate to the reload phase that it may
need to allocate at least one register for a reload in addition to the
register to contain the data. Specifically, if copying X to a register