This is the mail archive of the 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]

[PATCH] Add named address support to GCC 4.5

This patch is a combination patch of all of the work done on the branch
named-addr-spaces-branch to add the ability for backends to named address space
which are documented in section 5 of the ISO/IEC technical report #18037:

	Programming Languages - C - Extensions to support embedded processors 

This patch allows the backend to add new qualifier keywords that can put
objects into different address spaces.  The notion of address space is carried
throughout the compiler, so that the backend can decide to generate different
code based on the address space used.  Pointers to different named address
spaces can be different sizes than normal pointers, and the backend can specify
when pointers to two different named address spaces are compatible or not.

In the spu backend, there is a single named address space (__ea) which points
into the host processor's memory space, instead of the onboard memory space,
and a caching mechanism is used to move items in the larger host address space
to the local address space.

Since I posted these patches in January, I have gone back and removed the code
that stripped off named address space qualifiers for functions before doing the
checks in grokdeclarator (named address spaces only apply to objects and not to
functions and so the code wasn't appropriate).

I have done full bootstrap builds and make check for the Powerpc and x86_64
systems with no testsuite regressions, and I have built and tested the code on
the spu.

Are these patches ok to apply?

Michael Meissner, IBM
4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA

Attachment: gcc-spu-combo.patch07
Description: Text document

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