summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-20 17:38:44 +0000
committerdenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-20 17:38:44 +0000
commit698e822a7354b3120f8e52d6b0287aad85d66c87 (patch)
treea7190699616a71c8415b22be5ece07f5f99be8e9
parent7a8a972d65c67c2a9cb9179da746c007b9fcb279 (diff)
downloadppe42-gcc-698e822a7354b3120f8e52d6b0287aad85d66c87.tar.gz
ppe42-gcc-698e822a7354b3120f8e52d6b0287aad85d66c87.zip
* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
register as pointer after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76216 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/avr/avr.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5565dc9a77..5ec4cf7d0e4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-20 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
+ register as pointer after reload.
+
2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
PR optimization/12440
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c6ac5dcb674..acac4fa9b92 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -1,6 +1,7 @@
/* Definitions of target machine for GNU compiler,
for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Denis Chertykov (denisc@overta.ru)
This file is part of GCC.
@@ -560,7 +561,7 @@ enum reg_class {
choose a class which is "minimal", meaning that no smaller class
also contains the register. */
-#define BASE_REG_CLASS POINTER_REGS
+#define BASE_REG_CLASS (reload_completed ? BASE_POINTER_REGS : POINTER_REGS)
/* A macro whose definition is the name of the class to which a valid
base register must belong. A base register is one used in an
address which is the register value plus a displacement. */
OpenPOWER on IntegriCloud