Index Register Allocation

  title={Index Register Allocation},
  author={Lawrence Paul Horwitz and Richard M. Karp and Raymond E. Miller and Shmuel Winograd},
  journal={J. ACM},
A procedure for index register allocation is described. The rules of this procedure are shown to yield an optimal allocation for “straight line” programs. 

Figures from this paper

Technical note. Approach for register allocation in microprogram generation

A dynamic procedure for the allocation of internal registers of a microprogrammable system is described, developed to yield an optimal allocation that minimises the execution time of the microprogram generated.

On-Line Measurement of Paging Behavior by the Multivalued MIN Algorithm

An algorithm is presented that extracts the sequence of minimum memory capacities (MMCs) from the sequence of page references generated by a program as it is executed in a demand paging environment...

A comment on index register allocation

A technique is presented to reduce the enumeration required by o known procedure for optimal index register allocation in straight-line programs. This technique is based on the construction of a link

On the Minimization of Loads/Stores in Local Register Allocation

This paper presents an algorithm to find the optimal register allocatbn of stmlght-line programs, and presents a heuristic alguritlrm which generally outper-forms other algorithms In large basic blocks.

A technological review of the FORTRAN I compiler

The FORTRAN I compiler functions and organizations are described and shown to form the basis for many of the techniques used in modern compilers.

Optimal local register allocation for a multiple-issue machine

An algorithm that allocates registers optimally for straight-line code running on a generic multi-issue computer that closely models the operation of vector and VLIW processors, and could be extended to model super-scalar processors.

A survey of register allocation

A survey of work in the area of optimal register allocation is presented, and the algorithms used in a part icular optimizing compiler (BLISS*-! 1) are discussed.

Tree register allocation

  • Hongbo Rong
  • Computer Science
    2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
  • 2009
This paper presents tree register allocation, which maps the lifetimes of the variables in a program into a set of trees, colors each tree in a greedy style, which is optimal when there is no



On the Shortest Route Through a Network

This paper refines proposals to give what is believed to be the shortest procedure for finding the shortest route when it is little effort to arrange distances in increasing order by nodes or to skip consideration of arcs into nodes whose shortest route to the origin has been determined earlier in the computation.