This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [named address] ice-on-valid: in postreload.c:reload_cse_simplify_operands
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: avr at gjlay dot de (Georg-Johann Lay)
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 5 Aug 2011 12:19:24 +0200 (CEST)
- Subject: Re: [named address] ice-on-valid: in postreload.c:reload_cse_simplify_operands
Georg-Johann Lay wrote:
> Ulrich Weigand wrote:
> > I'd be happy to bring this up to date if you're willing to work with
> > me to get this tested on a target that needs this support ...
>
> Just attached a patch to bugzilla because an AVR user wanted to play
> with the AS support and asked me to supply my changes. It's still in
> a mess but you could get a more reasonable base than on a target where
> all named addresses vanish at expand.
>
> The patch is fresh and attached to the enhancement PR49868, just BE stuff.
> There is also some sample code.
OK, I'll have a look.
Looking at your definition of the routines avr_addr_space_subset_p and
avr_addr_space_convert, they appear to imply that any generic address
can be used without conversion as a __pgm address and vice versa.
That is: avr_addr_space_subset_p says that __pgm is both a superset
and a subset of the generic address space, so they must be co-extensive.
avr_addr_space_convert then says that the addresses can be converted
between the two without changing their value.
Is this really true? If so, why have a distinct __pgm address space
in the first place?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com