### Abstract

The search for efficient algorithms for register allocation dates back to the time of the first Fortran compiler for the IBM 704. Since then, many variants of the problem have been considered; depending on two factors: (1) the particular model for registers, and (2) the definition of the term "computation of a program" e.g. Whether values may be computed more than once. We will show that several variants of the register allocation problem for straight line programs are polynomial complete. In particular we consider, (1) the case when each value is computed exactly once, and (2) the case when values may be recomputed as necessary. The completeness of the third problem considered is surprising. A straight line program starts with a set of initial values, and computes intermediate and final values. Suppose, for each value, the register that value must be computed into is preassigned. Then, (3) the problem of determining if there is a computation of the straight line program, that computes values into the assigned registers, is polynomial complete.

Original language | English (US) |
---|---|

Pages (from-to) | 182-195 |

Number of pages | 14 |

Journal | Proceedings of the Annual ACM Symposium on Theory of Computing |

DOIs | |

State | Published - Apr 30 1973 |

Externally published | Yes |

Event | 5th Annual ACM Symposium on Theory of Computing, STOC 1973 - Austin, United States Duration: Apr 30 1973 → May 2 1973 |

### Fingerprint

### Keywords

- Dag
- Polynomial complete
- Program optimization
- Register allocation
- Straight line program

### ASJC Scopus subject areas

- Software

### Cite this

**Complete register allocation problems.** / Sethi, Ravi.

Research output: Contribution to journal › Conference article

}

TY - JOUR

T1 - Complete register allocation problems

AU - Sethi, Ravi

PY - 1973/4/30

Y1 - 1973/4/30

N2 - The search for efficient algorithms for register allocation dates back to the time of the first Fortran compiler for the IBM 704. Since then, many variants of the problem have been considered; depending on two factors: (1) the particular model for registers, and (2) the definition of the term "computation of a program" e.g. Whether values may be computed more than once. We will show that several variants of the register allocation problem for straight line programs are polynomial complete. In particular we consider, (1) the case when each value is computed exactly once, and (2) the case when values may be recomputed as necessary. The completeness of the third problem considered is surprising. A straight line program starts with a set of initial values, and computes intermediate and final values. Suppose, for each value, the register that value must be computed into is preassigned. Then, (3) the problem of determining if there is a computation of the straight line program, that computes values into the assigned registers, is polynomial complete.

AB - The search for efficient algorithms for register allocation dates back to the time of the first Fortran compiler for the IBM 704. Since then, many variants of the problem have been considered; depending on two factors: (1) the particular model for registers, and (2) the definition of the term "computation of a program" e.g. Whether values may be computed more than once. We will show that several variants of the register allocation problem for straight line programs are polynomial complete. In particular we consider, (1) the case when each value is computed exactly once, and (2) the case when values may be recomputed as necessary. The completeness of the third problem considered is surprising. A straight line program starts with a set of initial values, and computes intermediate and final values. Suppose, for each value, the register that value must be computed into is preassigned. Then, (3) the problem of determining if there is a computation of the straight line program, that computes values into the assigned registers, is polynomial complete.

KW - Dag

KW - Polynomial complete

KW - Program optimization

KW - Register allocation

KW - Straight line program

UR - http://www.scopus.com/inward/record.url?scp=85059760220&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85059760220&partnerID=8YFLogxK

U2 - 10.1145/800125.804049

DO - 10.1145/800125.804049

M3 - Conference article

SP - 182

EP - 195

JO - Proceedings of the Annual ACM Symposium on Theory of Computing

JF - Proceedings of the Annual ACM Symposium on Theory of Computing

SN - 0737-8017

ER -