Validating register allocations for straight line programs

Research output: Contribution to journalConference article

Abstract

Straight line programs are essentially sequences of assignment statements. A general program consists of straight line segments with flow of control between these segments. The interfaces between a straight line segment and the rest of the program place constraints on register allocations for the segment. These constraints may render a register allocation for a straight line program unrealizable. An algorithm is given to determine if a register allocation for a straight line program is realizable. It is shown that the algorithm takes O(n3) steps, where n is the number of statements in the program. An unrealizable assignment may be made realizable by introducing stores into memory at appropriate points. It is shown how the minimum number of such stores may be found.

Original languageEnglish (US)
Pages (from-to)222-237
Number of pages16
JournalProceedings of the Annual ACM Symposium on Theory of Computing
DOIs
StatePublished - May 1 1972
Externally publishedYes
Event4th Annual ACM Symposium on Theory of Computing, STOC 1972 - Denver, United States
Duration: May 1 1972May 3 1972

Fingerprint

Data storage equipment

ASJC Scopus subject areas

  • Software

Cite this

Validating register allocations for straight line programs. / Sethi, Ravi.

In: Proceedings of the Annual ACM Symposium on Theory of Computing, 01.05.1972, p. 222-237.

Research output: Contribution to journalConference article

@article{992c50884f1644e4b75fc47e056f2c5e,
title = "Validating register allocations for straight line programs",
abstract = "Straight line programs are essentially sequences of assignment statements. A general program consists of straight line segments with flow of control between these segments. The interfaces between a straight line segment and the rest of the program place constraints on register allocations for the segment. These constraints may render a register allocation for a straight line program unrealizable. An algorithm is given to determine if a register allocation for a straight line program is realizable. It is shown that the algorithm takes O(n3) steps, where n is the number of statements in the program. An unrealizable assignment may be made realizable by introducing stores into memory at appropriate points. It is shown how the minimum number of such stores may be found.",
author = "Ravi Sethi",
year = "1972",
month = "5",
day = "1",
doi = "10.1145/800152.804918",
language = "English (US)",
pages = "222--237",
journal = "Proceedings of the Annual ACM Symposium on Theory of Computing",
issn = "0737-8017",
publisher = "Association for Computing Machinery (ACM)",

}

TY - JOUR

T1 - Validating register allocations for straight line programs

AU - Sethi, Ravi

PY - 1972/5/1

Y1 - 1972/5/1

N2 - Straight line programs are essentially sequences of assignment statements. A general program consists of straight line segments with flow of control between these segments. The interfaces between a straight line segment and the rest of the program place constraints on register allocations for the segment. These constraints may render a register allocation for a straight line program unrealizable. An algorithm is given to determine if a register allocation for a straight line program is realizable. It is shown that the algorithm takes O(n3) steps, where n is the number of statements in the program. An unrealizable assignment may be made realizable by introducing stores into memory at appropriate points. It is shown how the minimum number of such stores may be found.

AB - Straight line programs are essentially sequences of assignment statements. A general program consists of straight line segments with flow of control between these segments. The interfaces between a straight line segment and the rest of the program place constraints on register allocations for the segment. These constraints may render a register allocation for a straight line program unrealizable. An algorithm is given to determine if a register allocation for a straight line program is realizable. It is shown that the algorithm takes O(n3) steps, where n is the number of statements in the program. An unrealizable assignment may be made realizable by introducing stores into memory at appropriate points. It is shown how the minimum number of such stores may be found.

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

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

U2 - 10.1145/800152.804918

DO - 10.1145/800152.804918

M3 - Conference article

AN - SCOPUS:85059439315

SP - 222

EP - 237

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 -