+2010-12-09 Yao Qi <yao@codesourcery.com>
+
+ * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
+ PREFERRED_RENAME_CLASS.
+
2010-12-08 Ian Lance Taylor <iant@google.com>
* doc/sourcebuild.texi (Front End): Remove reference to
int misalignment,
bool is_packed);
static void arm_conditional_register_usage (void);
+static reg_class_t arm_preferred_rename_class (reg_class_t class);
\f
/* Table of machine attributes. */
#define TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT \
arm_builtin_support_vector_misalignment
+#undef TARGET_PREFERRED_RENAME_CLASS
+#define TARGET_PREFERRED_RENAME_CLASS \
+ arm_preferred_rename_class
+
struct gcc_target targetm = TARGET_INITIALIZER;
\f
/* Obstack for minipool constant handling. */
SUBTARGET_CONDITIONAL_REGISTER_USAGE
}
+static reg_class_t
+arm_preferred_rename_class (reg_class_t class)
+{
+ /* Thumb-2 instructions using LO_REGS may be smaller than instructions
+ using GENERIC_REGS. During register rename pass, we prefer LO_REGS,
+ and code size can be reduced. */
+ if (TARGET_THUMB2 && class == GENERAL_REGS)
+ return LO_REGS;
+ else
+ return NO_REGS;
+}
+
#include "gt-arm.h"