* 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
+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
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);
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);
\f
/* Table of valid machine attributes. */
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;
\f
typedef enum
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)
{
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