This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: reload question about unmet constraints
- From: DJ Delorie <dj at redhat dot com>
- To: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- Cc: jim dot wilson at linaro dot org, gcc at gcc dot gnu dot org
- Date: Tue, 6 Oct 2015 22:29:07 -0400
- Subject: Re: reload question about unmet constraints
- Authentication-results: sourceware.org; auth=none
- References: <20150917134341 dot 88E3F2209 at oc7340732750 dot ibm dot com>
> So in general, it's really not safe to mark a constraint that accepts
> only far memory as "memory constraint" with current reload.
>
> Note that *not* marking the constraint as memory constraint actually
> does not prevent reload from fixing up illegitimate addresses, so you
> shouldn't really see much drawbacks from not marking it ...
While working through the regressions on this one I discovered one
seemingly important side-effect...
For such constraints that are memory operands but not
define_memory_constraint, you need to use '*' to keep reload from
trying to guess a register class from them (it guesses wrong for
rl78).
I.e. use "*Wfr" instead of "Wfr".