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]

Non-Unified Memory Machine


I am porting GCC to a processor which does not have a unified memory space.
I have two sets of address registers, each of which cannot access the memory
space of the other.

The first set of address registers include FP, SP, and all global variables
not explicitly declared as in the other memory space.

The second set of address registers can only access variables that are
declared as being in the second memory space's section. My idea is to use
the section attribute to declare variables that should be in this address
set. It will be necessary to output variables in the assembly file as being
in this section so that the loader can place them in the correct memory.

So my question is how can I make sure that the register allocator uses the
correct registers for the memory spaces? Is there something I can add to
EXTRA_CONSTRAINT to make sure that accesses to specific symbol_refs are in
the correct registers?

Thanks in advance for the help.
Ben




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