|[6 earlier articles]|
|Re: Compilers taking advantage of architectural enhancements email@example.com (1990-10-15)|
|Re: Compilers taking advantage of architectural enhancements firstname.lastname@example.org (1990-10-16)|
|Re: Compilers taking advantage of architectural enhancements email@example.com (1990-10-16)|
|Re: Compilers taking advantage of architectural enhancements firstname.lastname@example.org (1990-10-16)|
|Re: Compilers taking advantage of architectural enhancements email@example.com (1990-10-17)|
|Re: Compilers taking advantage of architectural enhancements firstname.lastname@example.org (1990-10-17)|
|Re: Compilers taking advantage of architectural enhancements email@example.com (1990-10-18)|
|Re: Compilers taking advantage of architectural enhancements firstname.lastname@example.org (1990-10-19)|
|Compilers taking advantage of architectural enhancements email@example.com (1990-10-23)|
|From:||firstname.lastname@example.org (Hank Dietz)|
|Summary:||CRegs strike again!|
|Organization:||Purdue University Engineering Computer Network|
|References:||<AGLEW.90Oct11144920@dwarfs.crhc.uiuc.edu> <1990Oct11.email@example.com> <1990Oct12.firstname.lastname@example.org>|
|Date:||Thu, 18 Oct 90 00:55:17 -0500|
In article <1990Oct12.email@example.com> firstname.lastname@example.org (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
>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.
Return to the
Search the comp.compilers archives again.