This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
"register struct": work in progress
- To: gcc at gcc dot gnu dot org
- Subject: "register struct": work in progress
- From: Benedetto Proietti <benedetto dot proietti at roma1 dot infn dot it>
- Date: Mon, 04 Sep 2000 09:32:36 +0200
Hello guys,
I am writing a GCC port for a machine with a quite big register file:
512 32 bit registers.
Most of the calculations which the machine is used for is done on
"structures", so it is *absolutely* necessary to support automatic
"register struct" variables in order to have a production compiler.
For this reason I am workin on a patch to add this feature to GCC in the
most non-intrusive way I can: infact (tell me if I'm wrong) I suppose
that this "extension" cuold be useful to the whole GCC community.
For instance the port has began from version 2.95.2, so will be the
patch.
I will sincerely appreciate any suggestion, comment, hint, idea and help
from whoever would like to partecipate.
The patch, once completed, will be offered to FSF.
Technically, my idea follows the suggestions in the mails by Richard
Henderson and Greg McGary in the thread "Liberating structs from memory"
in the gcc@gcc.gnu.org mail list: the idea is to use a PARALLEL of REG
to represent a struct variable always kept in a register file.
In the mentioned thread they talked about keeping in the register file
struct variables whose address is never taken. For now I just put
structs in registers if the keyword "register" is used when declaring
automatic variables.
I suppose that this feature should be used *only* in processors with an
adeguate number of registers, so I suppose some switch should be added
to control this extension.
As soon as i can you will receive a preliminary patch in this mail list.
Thank you in advance for your help
Benedetto
*******
Benedetto Proietti benedetto.proietti@roma1.infn.it
INFN, APE project Rome, Italy