This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: More help to my port.


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]