aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/cris/cris.h69
2 files changed, 6 insertions, 69 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d763f79..d27c6db 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-05-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (Node: Register Classes): Remove obsoleted
+ comment regarding defined register classes.
+ (LEGITIMIZE_RELOAD_ADDRESS): Do not define.
+
2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
* tree-optimize.c (init_tree_optimization_passes): Move
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 797d42f..dac03d2 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -502,11 +502,6 @@ extern int target_flags;
/* Node: Register Classes */
-/* CRIS has only one kind of registers, so NO_REGS and ALL_REGS
- are the only classes. FIXME: It actually makes sense to have another
- class for special registers, and yet another class for the
- multiply-overflow register in v10; then a class for the return
- register also makes sense. */
enum reg_class
{
NO_REGS,
@@ -1071,70 +1066,6 @@ struct cum_args {int regs;};
FIXME: Check and adjust for gcc-2.9x. */
#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) {}
-/* Kludge to solve Axis-990219: Work around imperfection in
- reload_load_address1:
- (plus (sign_extend (mem:qi (reg))) (reg))
- should be reloaded as (plus (reg) (reg)), not
- (plus (sign_extend (reg)) (reg)).
- There are no checks that reload_load_address_1 "reloads"
- addresses correctly, so invalidness is not caught or
- corrected.
- When the right thing happens in reload, the kludge can
- be removed; still not as of 2003-02-27. */
-
-#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, IND_LEVELS, WIN) \
- do \
- { \
- if (GET_CODE (X) == PLUS \
- && REG_P (XEXP (X, 1)) \
- && GET_CODE (XEXP (X, 0)) == SIGN_EXTEND \
- && GET_CODE (XEXP (XEXP (X, 0), 0)) == MEM \
- && (GET_MODE (XEXP (XEXP (X, 0), 0)) == HImode \
- || GET_MODE (XEXP (XEXP (X, 0), 0)) == QImode) \
- && (REG_P (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
- || (GET_CODE (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
- == POST_INC \
- && REG_P (XEXP (XEXP (XEXP (XEXP (X, 0), 0), 0), \
- 0))))) \
- { \
- int something_reloaded = 0; \
- \
- if (REGNO (XEXP (X, 1)) >= FIRST_PSEUDO_REGISTER) \
- { \
- /* Second reg is pseudo, reload it. */ \
- push_reload (XEXP (X, 1), NULL_RTX, &XEXP (X, 1), \
- NULL, \
- GENERAL_REGS, GET_MODE (X), VOIDmode, 0, 0, \
- OPNUM, TYPE); \
- something_reloaded = 1; \
- } \
- \
- if (REG_P (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
- && (REGNO (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
- >= FIRST_PSEUDO_REGISTER)) \
- { \
- /* First one is a pseudo - reload that. */ \
- push_reload (XEXP (XEXP (XEXP (X, 0), 0), 0), NULL_RTX, \
- &XEXP (XEXP (XEXP (X, 0), 0), 0), NULL, \
- GENERAL_REGS, \
- GET_MODE (X), VOIDmode, 0, 0, OPNUM, TYPE); \
- something_reloaded = 1; \
- } \
- \
- if (! something_reloaded \
- || (GET_CODE (XEXP (XEXP (X, 0), 0)) == POST_INC \
- && (REGNO (XEXP (XEXP (XEXP (X, 0), 0), 0)) \
- >= FIRST_PSEUDO_REGISTER))) \
- /* Reload the sign_extend. Happens if neither reg is a \
- pseudo, or the first one was inside post_increment. */ \
- push_reload (XEXP (X, 0), NULL_RTX, &XEXP (X, 0), NULL, \
- GENERAL_REGS, GET_MODE (X), VOIDmode, 0, 0, \
- OPNUM, TYPE); \
- goto WIN; \
- } \
- } \
- while (0)
-
/* In CRIS, only the postincrement address mode depends thus,
since the increment depends on the size of the operand. */
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \