https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116236
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gjl at gcc dot gnu.org --- Comment #7 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > Docs say > > Legitimate addresses are defined in two variants: a strict variant and a > non-strict one. The @var{strict} parameter chooses which variant is > desired by the caller. > > The strict variant is used in the reload pass. It must be defined so > that any pseudo-register that has not been allocated a hard register is > considered a memory reference. I don't quite understand this sentence. Does that mean that legitimate_address_p has to accept MEM as (part of) a valid address, even when only a hard reg is allowed as address? Moreover legitimate_address_p seems outdated / incomplete and TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P the right hook to use.