Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!ames!sdcsvax!maiden From: maiden@sdcsvax.UCSD.EDU (VLSI Layout Project) Newsgroups: comp.sys.mac Subject: code optimizers Message-ID: <3924@sdcsvax.UCSD.EDU> Date: Mon, 21-Sep-87 13:14:36 EDT Article-I.D.: sdcsvax.3924 Posted: Mon Sep 21 13:14:36 1987 Date-Received: Tue, 22-Sep-87 04:56:43 EDT Organization: University of California, San Diego Lines: 45 To the Macintosh Development Community: Is there a significant interest market for an external optimizer for the Macintosh/Macintosh II? Recently some CS associates and I have discussed the possibility of applying that 'ol computer science knowledge toward developing such a product. What do you, the development community, think? Are existing compilers sufficiently endowed with the ability to produce fast code? Are those developers who have bemoaned the lack of code quality on the Macintosh comparable to that on other computers (including the PC) willing to put their money where their mouth is? IS THERE REALLY A MARKET FOR AN OPTIMIZER - or are developers willing to exploit alternative routes (hand-coded assembly by an expert)? Also: are there such products already being developed? There are other things far easier (and more fun!) to do than making an optimizer; if someone is doing it already, we will willingly step aside and do something else. And a final question: what are the specifications of an ideal code optimizer? What are the code size/speed tradeoffs that developers out in the Macintosh community desire? Obviously the optimizer would be modular, allowing selective enabling/disabling of the various levels of optimization, but is there a need for optimization of ROM calls or cache use or coprocessor parallelism? Presently we would envision the system to run under MPW - are there objections to this? - and operate on assembler output to maximize its functionality among several compilers. We would consider implementing loop optimization, induction variable and global common subexpression elimination, loop unrolling and merging, constant folding, copy propagation, code hoisting, procedure call optimization, etc. It may be desirable to allow directives to be passed to the optimizer for greater control and implementation of other types of optimization, including code substitution and algorithm optimization. Your suggestions welcome. E-mail is preferred, however I often scan this board. Edward ------------------------------------------------------------------------ UUCP: {seismo|decwrl}!sdcsvax!maiden ARPA: maiden@sdcsvax.ucsd.edu