Repository logo
 

Partial evaluation in an optimizing prolog compiler

dc.contributor.committeeMemberNeufeld, Ericen_US
dc.creatorYadavalli, Srinivasa Bharadwajen_US
dc.date.accessioned2004-10-21T00:20:53Zen_US
dc.date.accessioned2013-01-04T05:05:11Z
dc.date.available2000-01-01T08:00:00Zen_US
dc.date.available2013-01-04T05:05:11Z
dc.date.created2000-01en_US
dc.date.issued2000-01-01en_US
dc.date.submittedJanuary 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.identifier.urihttp://hdl.handle.net/10388/etd-10212004-002053en_US
dc.language.isoen_USen_US
dc.titlePartial evaluation in an optimizing prolog compileren_US
dc.type.genreThesisen_US
dc.type.materialtexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Saskatchewanen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophy (Ph.D.)en_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
NQ63971.pdf
Size:
7.65 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
905 B
Format:
Plain Text
Description: