Using Peephole Optimization on Intermediate Code

A.S. Tanenbaum, H. van Staveren, J.W. Stevenson

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Many portable compilers generate an intermediate code that is subsequently translated into the target machine's assembly language. In this paper a stack-machine-based intermediate code suitable for algebraic languages (e.g., PASCAL, C, FORTRAN) and most byte-addressed mini- and microcomputers is described. A table-driven peephole optimizer that improves this intermediate code is then discussed in detail and compared with other local optimization methods. Measurements show an improvement of about 15 percent, depending on the precise metric used. © 1982, ACM. All rights reserved.
Original languageEnglish
Pages (from-to)21-36
Number of pages16
JournalACM Transactions on Programming Languages and Systems
Volume4
Issue number1
DOIs
Publication statusPublished - 1 Jan 1982

Fingerprint

Assembly machines
Minicomputers
Microcomputers

Keywords

  • abstract machine
  • intermediate code
  • peephole optimizer

Cite this

Tanenbaum, A.S. ; van Staveren, H. ; Stevenson, J.W. / Using Peephole Optimization on Intermediate Code. In: ACM Transactions on Programming Languages and Systems. 1982 ; Vol. 4, No. 1. pp. 21-36.
@article{67d63cdad743490eb695110d4a7dbcd8,
title = "Using Peephole Optimization on Intermediate Code",
abstract = "Many portable compilers generate an intermediate code that is subsequently translated into the target machine's assembly language. In this paper a stack-machine-based intermediate code suitable for algebraic languages (e.g., PASCAL, C, FORTRAN) and most byte-addressed mini- and microcomputers is described. A table-driven peephole optimizer that improves this intermediate code is then discussed in detail and compared with other local optimization methods. Measurements show an improvement of about 15 percent, depending on the precise metric used. {\circledC} 1982, ACM. All rights reserved.",
keywords = "abstract machine, intermediate code, peephole optimizer",
author = "A.S. Tanenbaum and {van Staveren}, H. and J.W. Stevenson",
year = "1982",
month = "1",
day = "1",
doi = "10.1145/357153.357155",
language = "English",
volume = "4",
pages = "21--36",
journal = "ACM Transactions on Programming Languages and Systems",
issn = "0164-0925",
publisher = "Association for Computing Machinery (ACM)",
number = "1",

}

Using Peephole Optimization on Intermediate Code. / Tanenbaum, A.S.; van Staveren, H.; Stevenson, J.W.

In: ACM Transactions on Programming Languages and Systems, Vol. 4, No. 1, 01.01.1982, p. 21-36.

Research output: Contribution to JournalArticleAcademicpeer-review

TY - JOUR

T1 - Using Peephole Optimization on Intermediate Code

AU - Tanenbaum, A.S.

AU - van Staveren, H.

AU - Stevenson, J.W.

PY - 1982/1/1

Y1 - 1982/1/1

N2 - Many portable compilers generate an intermediate code that is subsequently translated into the target machine's assembly language. In this paper a stack-machine-based intermediate code suitable for algebraic languages (e.g., PASCAL, C, FORTRAN) and most byte-addressed mini- and microcomputers is described. A table-driven peephole optimizer that improves this intermediate code is then discussed in detail and compared with other local optimization methods. Measurements show an improvement of about 15 percent, depending on the precise metric used. © 1982, ACM. All rights reserved.

AB - Many portable compilers generate an intermediate code that is subsequently translated into the target machine's assembly language. In this paper a stack-machine-based intermediate code suitable for algebraic languages (e.g., PASCAL, C, FORTRAN) and most byte-addressed mini- and microcomputers is described. A table-driven peephole optimizer that improves this intermediate code is then discussed in detail and compared with other local optimization methods. Measurements show an improvement of about 15 percent, depending on the precise metric used. © 1982, ACM. All rights reserved.

KW - abstract machine

KW - intermediate code

KW - peephole optimizer

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

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

U2 - 10.1145/357153.357155

DO - 10.1145/357153.357155

M3 - Article

VL - 4

SP - 21

EP - 36

JO - ACM Transactions on Programming Languages and Systems

JF - ACM Transactions on Programming Languages and Systems

SN - 0164-0925

IS - 1

ER -