This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: More help to my port.
- From: Jim Wilson <wilson at tuliptree dot org>
- To: Anders Ådland <aaadland at atmel dot no>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 06 Sep 2003 18:22:19 -0700
- Subject: Re: More help to my port.
- References: <opru04effa4anuxc@store>
Anders Ådland wrote:
I know that LEGITIMATE_ADDRESS is defined in two versions depending on
if REG_OK_STRICT is defined or not, but this macro is only used to check
if the first version of the insn is legal, not the others.
This is handled by reload. find_reload will see a MEM operand, and call
find_reloads_address, which will call strict_memory_address_p which
calls GO_IF_LEGITIMATE_ADDRESS. If this doesn't force a reload, then
probably your GO_IF_LEGITIMATE_ADDRESS macro still has a subtle bug.
Reload uses constraints rather than predicates, so if there is a problem
with your constraints, then you could also run into this problem. For
instance, if you tried to define your own constraints via
EXTRA_CONSTRAINTS that don't properly handle memory addresses.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com