Skip to main content
Log in

Using graph coloring in an algebraic compiler

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract.

An algebraic compiler allows incremental development of the source program and builds its target image by composing the target images of the program components. In this paper we describe the general structure of an algebraic compiler focusing on compositional code generation. We show that the mathematical model for register management by an algebraic compiler is a graph coloring problem in which an optimally colored graph is obtained by composing optimally colored subgraphs. More precisely, we define the clique-composition of graphs \(G_1\) and \(G_2\) as the graph obtained by joining all the vertices in a clique in \(G_1\) with all the vertices in a clique in \(G_2\) and show that optimal register management by an algebraic compiler is achieved by performing clique-composition operations. Thus, an algebraic compiler provides automatically adequate clique separation of the global register management graph. We present a linear-time algorithm that takes as input optimally colored graphs \(G_1\) and \(G_2\) and constructs an optimal coloring of any clique-composition of \(G_1\) and \(G_2\). Motivated by the operation of clique-composition, we define the class of clique-composable graphs as those graphs that can be iteratively built from single vertices using the clique-composition operation. We show that the class of clique-composable graphs coincides with the well-known class of chordal graphs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received: 11 May 1995 / 30 November 1995

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rus, T., Pemmaraju, S. Using graph coloring in an algebraic compiler . Acta Informatica 34, 191–209 (1997). https://doi.org/10.1007/s002360050079

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s002360050079

Keywords

Navigation