Compiling C for stack engines

koopman+@cs.cmu.edu (Philip Koopman)
Thu, 28 May 1992 19:47:05 GMT

          From comp.compilers

Related articles
Compiling C for stack engines koopman+@cs.cmu.edu (1992-05-28)
Re: Compiling C for stack engines pazsan@Informatik.TU-Muenchen.DE (1992-06-01)
Re: Compiling C for stack engines watt@osf.org (1992-06-03)
| List of all articles for this month |
Newsgroups: comp.lang.forth,comp.compilers
From: koopman+@cs.cmu.edu (Philip Koopman)
Summary: New techniques / '92 Rochester Forth Conference
Keywords: C, forth, optimize
Organization: School of Computer Science, Carnegie Mellon
Date: Thu, 28 May 1992 19:47:05 GMT

Contrary to popular opinion, I believe that it is possible to write an
efficient C/conventional language to Forth translator. It's just not
obvious how to do it.


I plan to present a paper on a new technique to manage temporary variable
allocation on the data stack at Rochester next month. The abstract is
below. Since I have already had requests for this information, I am
offering to e-mail a uuencoded postscript copy of the paper to anyone who
sends me an INTERNET e-mail address. Sorry, I don't have time to fax,
mail, etc. (but I'll try to bring spare copies to the conference).


------------------------


A Preliminary Exploration of Optimized Stack Code Generation


Philip Koopman, Jr.


ABSTRACT


This paper presents an experimental code generator that performs
intra-block stack scheduling for a stack-based execution model. For small
test programs, 91% to 100% of redundant local variable accesses were
eliminated using this compiler. Compiled intra-block stack scheduling and
hand-performed global stack scheduling show that significant opportunities
exist to keep temporary variable values on the expression evaluation stack
when compiling conventional languages.


----------------------


    Phil Koopman koopman@utrcgw.utc.com
    United Technologies Research Center (203) 727-1624
    411 Silver Lane East Hartford, CT 06108
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.