Freeware optimizer for DeSmet C Compiler

13 Mar 86 02:51:24 GMT

          From comp.compilers

Related articles
Freeware optimizer for DeSmet C Compiler D.LEWIS%SCU%PANDA@SUMEX-AIM.ARPA (1986-03-13)
| List of all articles for this month |

Newsgroups: net.lang.c
Date: 13 Mar 86 02:51:24 GMT


I have written a optimizer called O88 for the DeSmet C compiler and have
placed it in the public domain. The executable and documentation for the
current 2.07 version is available for downloading under the filename
O88-V207.ARC in directory area 2 (IBM PC software) of from C-Ware's Fido BBS
(143/9) at (408) 720-8197.

O88 modifies the assembly language source code produced by GEN.EXE. It
typically eliminates about 4-9% of the instructions and simplifies about 5%
of those that remain. One user reported that the optimized code is smaller
than that produced by the MicroSoft compiler with it's highly touted
optimizer, and that O88 runs faster as well.

O88 has a special mode that can be invoked to use the 80188 instructions of
the NEC-V20 to eliminate about another 5% of the instructions. This mode is
the default if O88 senses the presence of a NEC-V20 processor, but can be
overridden by a command line option.

O88 can be run in stand-alone mode, or as an automatic part of the
compilation process by simply renaming ASM88.EXE to ASM88X.EXE, and O88.EXE
to ASM88.EXE.

For those that would like to see the dirty internals of O88, the source code
is available for $25 from the address below. Please don't ask me to send
only the executable at a reduced price - distribution of the executable is
only via download unless you want to pay the full price. Direct all
inquiries via E-MAIL, to either

(a) to "Dan Lewis" via Fido 143/9, or

(b) to "D.LEWIS%SCU%PANDA@SUMEX-AIM.ARPA" on the Arpanet, or

(c) Dan Lewis, owner
                        Key Software Products
440 Ninth Avenue
Menlo Park, CA 94086
(415) 364-9847

P.S. Version 3.00 will soon be available with the following additional

(a) Extension of the NEC-V20 sensing to also recognize a
80188, 80186, or 80286 to select the default target
instruction set (i.e., 8088 vs 80188).

(b) 8087 optimization: Replacement of 8087 library calls by
in-line 8087 instructions, and elimination of redundant
8087 stack loads. Automatic sensing of the presence or
absence of an 8087 or 80287 to determine the default 8087
vs no 8087 mode.

(c) An environment variable to force the default modes.

(d) An option to disable all optimization altogether.

Post a followup to this message

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