Demand-Driven Register Allocation

Todd A. Proebsting, Charles N. Fischer

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


A new global register allocation technique, demand-driven register allocation, is described. Demand-driven register allocation quantifies the costs and benefits of allocating variables to registers over live ranges so that high-quality allocations can be made. Local allocation is done first, and then global allocation is done iteratively beginning in the the most deeply nested loops. Because local allocation precedes global allocation, demand-driven allocation does not interfere with the use of well-known, high-quality local register allocation and instruction-scheduling techniques.

Original languageEnglish (US)
Pages (from-to)683-710
Number of pages28
JournalACM Transactions on Programming Languages and Systems
Issue number6
StatePublished - Nov 1996


  • Algorithms
  • D.3.4 [Programming Languages]: Processors - Code generation;optimization
  • Languages
  • Optimizing compiler
  • Performance
  • Theory

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Demand-Driven Register Allocation'. Together they form a unique fingerprint.

Cite this