* config/avr/avr-protos.h (preferred_reload_class): Remove.
* config/avr/avr.c (preferred_reload_class): Remove.
* config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
* config/pa/pa.c (emit_move_sequence): Update comment
* config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
* config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
* config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
* config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
* config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
* config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
* config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
* config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
* config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
* config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
* config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
* config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
* config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165541
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-10-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/avr/avr-protos.h (preferred_reload_class): Remove.
+ * config/avr/avr.c (preferred_reload_class): Remove.
+ * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/pa/pa.c (emit_move_sequence): Update comment
+ * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
+
2010-10-16 Joseph Myers <joseph@codesourcery.com>
* opts.c (set_fast_math_flags,
#define REGNO_OK_FOR_INDEX_P(REGNO) \
((REGNO) < 32 || (unsigned) reg_renumber[REGNO] < 32)
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-#define PREFERRED_RELOAD_CLASS(X,CLASS) \
-(CLASS)
-
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
#define CLASS_MAX_NREGS(CLASS, MODE) \
extern void avr_output_addr_vec_elt (FILE *stream, int value);
extern const char *avr_out_sbxx_branch (rtx insn, rtx operands[]);
-extern enum reg_class preferred_reload_class (rtx x, enum reg_class rclass);
extern int extra_constraint_Q (rtx x);
extern int adjust_insn_length (rtx insn, int len);
extern rtx avr_libcall_value (enum machine_mode mode);
return gen_rtx_REG (BLKmode, RET_REGISTER + 2 - offs);
}
-/* Places additional restrictions on the register class to
- use when it is necessary to copy value X into a register
- in class CLASS. */
-
-enum reg_class
-preferred_reload_class (rtx x ATTRIBUTE_UNUSED, enum reg_class rclass)
-{
- return rclass;
-}
-
int
test_hard_reg_class (enum reg_class rclass, rtx x)
{
#define REGNO_OK_FOR_INDEX_P(NUM) 0
-#define PREFERRED_RELOAD_CLASS(X, CLASS) preferred_reload_class(X,CLASS)
-
#define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true
#define CLASS_MAX_NREGS(CLASS, MODE) class_max_nregs (CLASS, MODE)
#define REGNO_OK_FOR_INDEX_P(REGNO) REGNO_OK_FOR_BASE_P(REGNO)
-#define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
-
#define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \
crx_secondary_reload_class (CLASS, MODE, X)
will reload one or both registers only if neither labeling works. */
#define REGNO_OK_FOR_INDEX_P(NUM) 1
-/* 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. On many machines, the following definition is safe:
-
- #define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
-
- Sometimes returning a more restrictive class makes better code. For
- example, on the 68000, when X is an integer constant that is in range for a
- `moveq' instruction, the value of this macro is always `DATA_REGS' as long
- as CLASS includes the data registers. Requiring a data register guarantees
- that a `moveq' will be used.
-
- If X is a `const_double', by returning `NO_REGS' you can force X into a
- memory constant. This is useful on certain machines where immediate
- floating values cannot be loaded into certain kinds of registers. */
-#define PREFERRED_RELOAD_CLASS(X, CLASS) CLASS
-
/* A C expression for the maximum number of consecutive registers of
class CLASS needed to hold a value of mode MODE.
? GPR_P (NUM) \
: (reg_renumber [NUM] >= 0 && GPR_P (reg_renumber [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. On many machines, the following definition is safe:
-
- #define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
-
- Sometimes returning a more restrictive class makes better code. For
- example, on the 68000, when X is an integer constant that is in range for a
- `moveq' instruction, the value of this macro is always `DATA_REGS' as long
- as CLASS includes the data registers. Requiring a data register guarantees
- that a `moveq' will be used.
-
- If X is a `const_double', by returning `NO_REGS' you can force X into a
- memory constant. This is useful on certain machines where immediate
- floating values cannot be loaded into certain kinds of registers.
-
- This declaration must be present. */
-#define PREFERRED_RELOAD_CLASS(X, CLASS) CLASS
-
#define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \
frv_secondary_reload_class (CLASS, MODE, X)
((C) == 'G' ? (VALUE) == CONST0_RTX (SFmode) \
: 0)
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-
-#define PREFERRED_RELOAD_CLASS(X, CLASS) (CLASS)
-
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
#define REGNO_OK_FOR_INDEX_P(REGNO) 0
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
/*----------------------------------------*/
/* Stack Layout and Calling Conventions. */
/*----------------------------------------*/
#define REGNO_OK_FOR_INDEX_P(REGNO) REGNO_OK_FOR_BASE_P(REGNO)
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
#define CLASS_MAX_NREGS(CLASS, MODE) \
#define CLASS_MAX_NREGS(CLASS, MODE) \
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
-/* 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. */
-#define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
-
/* The Overall Framework of an Assembler File */
#undef ASM_SPEC
Use scratch_reg to hold the address of the memory location.
- The proper fix is to change PREFERRED_RELOAD_CLASS to return
+ The proper fix is to change TARGET_PREFERRED_RELOAD_CLASS to return
NO_REGS when presented with a const_int and a register class
containing only FP registers. Doing so unfortunately creates
more problems than it solves. Fix this for 2.5. */
/* True if register is floating-point. */
#define FP_REGNO_P(N) ((N) >= FP_REG_FIRST && (N) <= FP_REG_LAST)
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
#define MAYBE_FP_REG_CLASS_P(CLASS) \
reg_classes_intersect_p ((CLASS), FP_REGS)
#define REGNO_OK_FOR_INDEX_P(REGNO) 0
-#define PREFERRED_RELOAD_CLASS(X, CLASS) CLASS
-
#define CLASS_MAX_NREGS(CLASS, MODE) picochip_class_max_nregs(CLASS, MODE)
\f
{ 7, 10, 11, 12, 13, 14, 4, 3, 2, 1, 9, 8, 6, 5, 15 \
}
-#define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
-
#define REGNO_IN_RANGE(REGNO, MIN, MAX) \
(IN_RANGE ((REGNO), (MIN), (MAX)) \
|| (reg_renumber != NULL \
#define INT_REG_OK_FOR_BASE_P(X,STRICT) \
((!(STRICT) || REGNO_OK_FOR_BASE_P (REGNO (X))))
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
#define CLASS_MAX_NREGS(CLASS, MODE) \
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
#define REGNO_OK_FOR_INDEX_P(regno) 0
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
#define INDEX_REG_CLASS ALL_REGS
#define BASE_REG_CLASS ALL_REGS
-/* Given an rtx X being reloaded into a reg required to be
- in class CLASS, return the class of reg to actually use.
- In general this is just CLASS; but on some machines
- in some cases it is preferable to use a more restrictive class. */
-
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
/* On the VAX, this is always the size of MODE in words,