An overview of the PL.8 compiler
Published 1 January 1982
Marc Auslander, Martin Hopkins
Citations116
Generate an AI Snapshot to get a quick, structured summary of this paper.
Study Snapshot
ObjectiveStudy objective
MethodsResearch methodology
PopulationPopulation studied
Sample sizeSample sizes
OutcomesStudy outcomes here
ResultsStudy results comes here
LimitationsResearch study limitations comes here
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
The PL.8 compiler accepts multiple source languages and produces high quality object code for several different machines through global optimization and register allocation.
Abstract
The PL.8 compiler accepts multiple source languages and produces high quality object code for several different machines. The strategy used is to first do a simple translation of the source program to a low level intermediate language. Global optimization and register allocation are then used to improve code rather than relying on special case code selection.
Keywords
Computer Science
ACM SIGPLAN NoticesRegister allocation & spilling via graph coloring
767 Citations1982Gregory J. Chaitin
Computer LanguagesRegister allocation via coloring
731 Citations1981Gregory J. Chaitin, Marc Auslander +4 more
Preliminary results of an experimental implementation in a PL/I optimizing compiler suggest that global register allocation approaching that of hand-coded assembly language may be attainable.
Register allocation & spilling via graph coloring
661 Citations1982Gregory J. Chaitin
This work has discovered how to extend the graph coloring approach so that it naturally solves the spilling problem, and produces better object code and takes much less compile time.
Communications of the ACMA program data flow analysis procedure
410 Citations1976Frances Allen, John Cocke
The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper.
The 801 minicomputer
234 Citations1982George Radin
An overview of an experimental system developed at the IBM T. J. Watson Research Center that consists of a running hardware prototype, a control program and an optimizing compiler, which features a primitive instruction set which can be completely hard-wired.
Optimization of range checking
72 Citations1982Victoria Markstein, John Cocke +1 more
An analysis is given for optimizing run-time range checks in regions of high execution frequency using strength reduction, code motion and common subexpression elimination.
IBM Journal of Research and DevelopmentThe Experimental Compiling System
55 Citations1980Frances Allen, J. L. Carter +5 more
The Experimental Compiling System (ECS) described here represents a new compiler construction methodology that uses a compiler base which can be augmenttd to create a compiler for any one of a wide class of source languages.
A new strategy for code generation
31 Citations1977William Harrison
A compiler structure is proposed which relies on interprocedural data flow analysis, global optimization, and an intermediate language schema to simplify the task of writing the code generating portions of a compiler without sacrificing code quality.
Communications of the ACMA case study of a new code generation technique for compilers
28 Citations1977J. Lawrence Carter
Evidence is provided that this strategy, the expansionoptimization strategy, can indeed result in good object code in the traditionally difficult PL/I concatenate statement.
