Patent · US Active

Register prespill phase in a compiler

US8516465B2 · kind B2 · utility

18Cited by
1References
20Claims
0Family size

Assignee

Inventor

Key dates

Filing dateDec 4, 2009
Grant dateAug 20, 2013
Priority date
Expiry dateJun 19, 2032

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F8/441
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

The present disclosure provides a compiler prespill phase that reduces or eliminates excessive register pressure, or locations in the code of a program where live virtual registers exceeds physical registers of a target computing device, prior to register allocation. The prespill phase identifies points of excessive register pressure, selects candidate virtual registers, chooses virtual registers to prespill from the candidates, and inserts spill and reload instructions to prespill the chosen registers. The prespill phase may reduce the register pressure such that the live virtual registers only exceed the physical registers by a particular number, the live virtual registers equal the physical registers, or the physical registers exceed the live virtual registers by a particular number. The compiler may then perform one or more early and/or late instruction scheduling phases, including global and/or local instruction scheduling, to optimize the placement of the spill and reload instructions.

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.