×

Register allocation and spilling via graph coloring

  • US 4,571,678 A
  • Filed: 11/05/1982
  • Issued: 02/18/1986
  • Est. Priority Date: 11/05/1982
  • Status: Expired due to Term
First Claim
Patent Images

1. In an optimizing compiler for converting a high level source language program into a machine executable program, the improvement which comprises a register allocation procedure which receives as input an intermediate language specifying storage requirements for the program as an unlimited number of symbolic registers and which produces a modified intermediate language for the program wherein all symbolic register assignments are converted to real machine registers or storage designations, said procedure comprising the steps of:

  • generating an interference graph for said program,allocating registers to said program via graph reduction and graph coloring techniques without spilling,when it is determined that further graph reduction is blocked and that spilling must occur, removing any remaining nodes in the interference graph by either making a spill determination or by further graph reduction steps until the graph is completely reduced,generating spill code for those nodes removed on the basis of spill determinations, andassigning registers to the nodes of said reduced graph by graph coloring techniques.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×