D.LEWIS@scu (03/13/86)
*** FREEWARE OPTIMIZER FOR DESMET (C-WARE) C COMPILER *** --------------------------------------------------------- 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 features: (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. -------