From c099ba280205908ed3689c3139ac2fd1a86483e6 Mon Sep 17 00:00:00 2001 From: Denis Chertykov Date: Tue, 20 Jan 2004 17:38:44 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/avr/avr.h | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f5565dc9a776..5ec4cf7d0e4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-01-20 Denis Chertykov + + * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X + register as pointer after reload. + 2004-01-20 Zdenek Dvorak PR optimization/12440 diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index c6ac5dcb674e..acac4fa9b92d 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. */