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 ?
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.
Using advanced VLIW and SIMD optimization techniques along with combined instruction scheduling, register allocation and resource mapping, the compiler translates ARB_vertex_program type programs into efficient microcode.
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.
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.
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.
Additionally, Silicon Graphics has extensively enhanced existing MIPSpro features such as interprocedural analysis and global register allocation -- which enable the compilers to analyze an entire program at once.
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.
Enhanced application performance through improved compiler register allocation
Twenty-six papers from the March 2005 symposium present recent advances in virtual machine technologies, dynamic optimization, profiling and trace compression, pointer analysis, register allocation, and software speculation.
This hardware/software collaboration is designed to ensure that software developers will enjoy improved instruction selection, optimized register allocation and enhanced 128-bit floating-point performance.
D4 includes new algorithms and sophisticated heuristics for area/delay tradeoff during operator chaining and scheduling and register allocation to optimize the area for a given frequency.