Spill code minimization techniques for optimizing compliers

D. Bernstein, M. Golumbic, y. Mansour, R. Pinter, D. Goldin, H. Krawczyk, I. Nahshon

Research output: Contribution to journalArticlepeer-review

Abstract

Global register allocation and spilling is commonly performed by solving a graph coloring problem. In this paper we present a new coherent set of heuristic methods for reducing the amount of spill code generated. This results in more efficient 1989 compiled code. Our approach has been compared to both standard and priority-based coloring algorithms, universally outperforming them. In our approach, we extend the capability of the existing algorithms in several ways. First, we use multiple heuristic functions to increase the likelihood that less spill code will be inserted. We have found three complementary heuristic functions which together appear to span a large proportion of good spill decisions. Second, we use a specially tuned greedy heuristic for determining the order of deleting (and hence coloring) the unconstrained vertices. Third, we have developed a “cleaning” technique which avoids some of the insertion of spill code in non-busy regions.

Original languageEnglish
Pages (from-to)258-263
Number of pages6
JournalACM SIGPLAN Notices
Volume24
Issue number7
DOIs
StatePublished - 21 Jun 1989
Externally publishedYes

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'Spill code minimization techniques for optimizing compliers'. Together they form a unique fingerprint.

Cite this