Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.17 $; site uiucdcsb.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!uiucdcsb!grunwald From: grunwald@uiucdcsb.UUCP Newsgroups: net.lang.c Subject: Better Optimiziers? Message-ID: <9000032@uiucdcsb.UUCP> Date: Fri, 7-Dec-84 00:20:00 EST Article-I.D.: uiucdcsb.9000032 Posted: Fri Dec 7 00:20:00 1984 Date-Received: Sat, 1-Dec-84 19:42:06 EST Lines: 37 Nf-ID: #N:uiucdcsb:9000032:000:1960 Nf-From: uiucdcsb!grunwald Nov 29 23:20:00 1984 As I hack away at a modified version of the Berkley Pascal compiler and look at the kind of code that is emitted by /lib/f1, I keep asking myself "Why didn't anyone build a better optimizer for the PPCIR?" Lets admit it, /lib/c2 gives a marginal improvement for programs generated by PC and F77. If there was an optimizer pass which did dataflow anaylsis shared code detecttion, and register assignment on the PCCIR forest of trees, it would be fairly machine independent, and I think that it would be fairly efficient too. Tweaking every compiler to include an optimizing phase, as was apparently done with F77, is too expensive. A filter before /lib/f1 is all that's really needed. Typically, C programs are not optimized on anything but the assembler level, but I think that an optimizer which did the optimizations mentioned would even be able to improve many a C program as well as PC and F77 programs. I'm certain that someone out that must have done this at some time in the past, particularly since optimizing heavily used utilities (CSH, troff, cc) might provide a substantial savings of CPU time. Tweaking a utility like this by hand is usually not worth the effort, but an optimizer should be able to get at least 5 -> 10% with the minimal effort of recompiling the utilties. I heard a that someone at Zilog had worked on something like this, and that someone at MIT might have something along the lines of what I'm looking for. Does anyone know if this is true and if any of this is in the public domain? What about the Graham-Glanville style code generators written at UCBerkley? Are they distributed and do they provide any significantly increased performance? I've only seen the articles in SIGPLAN Trans. on Comp. Const., an the figures made it appear that they give higher code-density. Dirk Grunwald University of Illinois, {pur-ee,ihnp4}!uiucdcs!grunwald UUCP domain grunwald.uiuc@Csnet-relay.CSNET Internet domain