This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Another problem with PIC port, too many reloads for insn
- From: James E Wilson <wilson at specifixinc dot com>
- To: Robert Baruch <autophile at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 09 Feb 2005 12:26:06 -0800
- Subject: Re: Another problem with PIC port, too many reloads for insn
- References: <bbac368c0501220931466af0c6@mail.gmail.com> <41F7F28D.4060501@specifixinc.com> <bbac368c05020617493ebdf15@mail.gmail.com>
On Sun, 2005-02-06 at 17:49, Robert Baruch wrote:
> However, there is a special class of register, the FSR register, which
> should be used for indirect addressing. In effect, I'd like the
> reloads to look like this:
When reload needs to load an address into a register, it uses
BASE_REG_CLASS. If FSR is in BASE_REG_CLASS, then it should be
considered as an option here, which should allow these reloads to work.
You might need to play with this a bit. Reload will have a class of two
regs (W, FSR) to choose for reloading addresses, and if it happens to
choose W, then you are screwed. There are various things you could try
to get around this, e.g. LIMIT_RELOAD_CLASS. Or maybe just putting FSR
only in BASE_REG_CLASS.
In general, reload isn't designed to work for targets with such limited
register sets.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com