register allocation


Also found in: Wikipedia.

register allocation

(compiler, algorithm)
The phase of a compiler that determines which values will be placed in registers. Register allocation may be combined with register assignment.

This problem can be shown to be isomorphic to graph colouring by relating values to nodes in the graph and registers to colours. Values (nodes) which must be valid simultaneously are linked by edges and cannot be stored in the same register (coloured the same).

See also register dancing and register spilling.

[Preston Briggs, PhD thesis, Rice University, April 1992 "Register Allocation via Graph Coloring"].
References in periodicals archive ?
Some specific subjects investigated are packet reordering analysis for LEO satellite networks, address register allocation in digital signal processors, data aggregation with multiple spanning trees in wireless sensor networks, and design of fuzzy feed-forward decoupling systems based on FPGA.
This can lead to sub-optimal register allocation and pointer assignments, redundant code and inconsistent variable declarations.
Andrew Cambridge University Press 2002 ISBN 0-521-82060- This textbook describes all phases of a compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems.
The task of register allocation is to map virtual registers (e.
Additionally, this representation is used by the compiler to perform target-specific transformations, including register allocation, instruction scheduling, and branch prediction.
Further, the Openwall researchers implemented and ran special-purpose CPU register allocation and code generation algorithms with intertwined S-box expression and code generation stages, allowing for a further performance boost of the resulting program code.
The largely Asian researchers propose software watermarking by register allocation, a financial crisis prediction model based on XBRL, a PAPR reduction technique for OFDM-WLAN, and meta-heuristic MAS optimization for supply chain procurement.
Since an OCG compiler knows every register, stack, pointer, object and variable declaration from all program modules, it can optimize every variable and register allocation, as well as the size and scope of every pointer and every object stored on the compiled stack.
Graph-coloring global register allocation and targeting, which have been implemented by Lal George [1994; 1996], will accomplish most control transfers (function calls) (such as line 12 and 13 in Figure 7) without any register-register moves.
A Simple Interprocedural Register Allocation Algorithm and Its
In addition, smart scheduling and register allocation performed by the compiler avoids unnecessary power consuming load/store operations.
New contributors provide additional insight to chapters on register allocation, software pipelining, instruction scheduling, and type systems.