aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDenis Chertykov <denisc@overta.ru>2004-01-20 17:38:44 +0000
committerDenis Chertykov <denisc@gcc.gnu.org>2004-01-20 20:38:44 +0300
commitc099ba280205908ed3689c3139ac2fd1a86483e6 (patch)
treea7190699616a71c8415b22be5ece07f5f99be8e9 /gcc
parent162f92bb8931bf277a8f31f37d3fc576cd6e424a (diff)
downloadgcc-c099ba280205908ed3689c3139ac2fd1a86483e6.zip
gcc-c099ba280205908ed3689c3139ac2fd1a86483e6.tar.gz
gcc-c099ba280205908ed3689c3139ac2fd1a86483e6.tar.bz2
avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload.
* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload. From-SVN: r76216
Diffstat (limited to 'gcc')
-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 f5565dc..5ec4cf7 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 c6ac5dc..acac4fa 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. */