Re: Compilers taking advantage of architectural enhancements

hankd@ecn.purdue.edu (Hank Dietz)
Thu, 18 Oct 90 00:55:17 -0500

          From comp.compilers

Related articles
[6 earlier articles]
Re: Compilers taking advantage of architectural enhancements jourdan@minos.inria.fr (1990-10-15)
Re: Compilers taking advantage of architectural enhancements anders@dit.lth.se (1990-10-16)
Re: Compilers taking advantage of architectural enhancements hankd@dynamo.ecn.purdue.edu (1990-10-16)
Re: Compilers taking advantage of architectural enhancements preston@titan.rice.edu (1990-10-16)
Re: Compilers taking advantage of architectural enhancements anders@dit.lth.se (1990-10-17)
Re: Compilers taking advantage of architectural enhancements larus@primost.cs.wisc.edu (1990-10-17)
Re: Compilers taking advantage of architectural enhancements hankd@ecn.purdue.edu (1990-10-18)
Re: Compilers taking advantage of architectural enhancements jourdan@minos.inria.fr (1990-10-19)
Compilers taking advantage of architectural enhancements worley@compass.com (1990-10-23)
| List of all articles for this month |

Newsgroups: comp.compilers
From: hankd@ecn.purdue.edu (Hank Dietz)
Summary: CRegs strike again!
Keywords: optimize, design
Organization: Purdue University Engineering Computer Network
References: <AGLEW.90Oct11144920@dwarfs.crhc.uiuc.edu> <1990Oct11.223224.26604@rice.edu> <1990Oct12.231125.1275@esegue.segue.boston.ma.us>
Date: Thu, 18 Oct 90 00:55:17 -0500

In article <1990Oct12.231125.1275@esegue.segue.boston.ma.us> aglew@crhc.uiuc.edu (Andy Glew) writes:
>>In the proceedings of Sigplan 90, there's a paper about how to chew
>>lots of registers.
>>
>> Improving Register Allocation for Subscripted Variables
>> Callahan, Carr, Kennedy
>>
>>I suggested the subtitle "How to use of all those FP registers" but nobody
>>was impressed. Also, there's a limit to how many registers you need, at
>>least for scientific fortran. It depends on the speed of memory and cache,
>>speed of the FPU, and the actual applications. The idea is that once the
>>FPU is running at full speed, more registers are wasted.
>
>I'm pretty sure that being able to put elements of aggregates into
>registers is the next big step - subscripted variables and structure fields.


It isn't hard to use lots of registers... the trick is to benefit
from doing so. Fetching from outside the processor is harmless
provided that it never slows the system down, and that point often can
be reached with a surprisingly small number of registers.


Unrolling and better alias analysis are two good approaches to making
more registers useful -- there is also the hardware fix called CRegs
(see the paper in Supercomputing 1988), which allows aliased values to
be kept in registers (really CRegs).


...
>>>Heterogenous register file
...
>>At first glance, the problem seems susceptable to coloring.
>>Perhaps I'm missing something.
>
>I agree with you --- I really don't understand why heterogenous
>register files are so hard to handle. But homogenous register files
>are one thing that compiler people have gone into rhapsodies wrt. RISC
>about.
>
>Here's one example: the Intel 80x86 is basically a heterogenous
>register file machine.


Get a copy of the Compiler Writer's Guide. I have one for the 286.
It presents a very reasonable scheme for using coloring with multiple
classes of registers (as in a 286). In fact, I think it is one of the
most understandable descriptions of the coloring technique in general.


-hankd@ecn.purdue.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.