Repository logo

Partial evaluation in an optimizing prolog compiler

dc.contributor.committeeMemberNeufeld, Ericen_US
dc.creatorYadavalli, Srinivasa Bharadwajen_US 2000en_US
dc.description.abstractSpecialization of programs and meta-programs written in high-level languages has been an active area of research for some time. Specialization contributes to improvement in program performance. We begin with a hypothesis that partial evaluation provides a framework for several traditional back-end optimizations. The present work proposes a new compiler back-end optimization technique based on specialization of low-level RISC-like machine code. Partial evaluation is used to specialize the low-level code. Berkeley Abstract Machine (BAM) code generated during compilation of Prolog is used as the candidate low-level language to test the hypothesis. A partial evaluator of BAM code was designed and implemented to demonstrate the proposed optimization technique and to study its design issues. The major contributions of the present work are as follows: It demonstrates a new low-level compiler back-end optimization technique. This technique provides a framework for several conventional optimizations apart from providing opportunity for machine-specific optimizations. It presents a study of various issues and solutions to several problems encountered during design and implementation of a low-level language partial evaluator that is designed to be a back-end phase in a real-world Prolog compiler. We also present an implementation-independent denotational semantics of BAM code--a low-level language. This provides a vehicle for showing the correctness of instruction transformations. We believe this work to provide the first concrete step towards usage of partial evaluation on low-level code as a compiler back-end optimization technique in real-world compilers.en_US
dc.titlePartial evaluation in an optimizing prolog compileren_US
dc.type.materialtexten_US Scienceen_US Scienceen_US of Saskatchewanen_US of Philosophy (Ph.D.)en_US


Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
7.65 MB
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
905 B
Plain Text