From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=BAYES_00,INVALID_DATE, UNRESOLVED_TEMPLATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ucbvax!STAR.STANFORD.EDU!ALLEN_S%ASD.SPAN From: ALLEN_S%ASD.SPAN@STAR.STANFORD.EDU (Stanley Roger Allen, AdaDude) Newsgroups: comp.lang.ada Subject: Optimizing compilers Message-ID: <8801220047.AA12713@ajpo.sei.cmu.edu> Date: 21 Jan 88 22:25:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet List-Id: Naom Tene states: >I am NOT saying that the optimized code is or should be legal I am >saying that IF you want faster execution you must PAY for it. VAX >ADA does NOT use the optimizer by default (unless the system manager >interferes with it) if it had it would have been a bug. Actually, the VAX Ada compiler has the OPTIMIZE switch ON by default (read the documentation). Since a compiler is (supposedly) validated with the default settings, it is natural to expect that this is how the DEC Ada compiler passed the suite (can anyone out there speak on the issue of compiler switches used at validation time?). As touching the larger issue, however, it must be said that optimized code STILL SHOULD BE LEGAL (of course, with a view toward the text in LRM 11.6). The Ada language has many optimizable features which are exploitable within the boundries of the standard. Certainly the designers of Ada were aware that optimization was to be performed on Ada code, and intended that the standard would define the EFFECTS that a program would have, whatever optimizations were applied to it. To "have to pay" for faster execution at the expense of legality is dangerous and unnecessary. Therefore, the legality of a program is to be considered independent of optimization. Just because an implementation of the language has bugs does not mean that Ada allows the kind of optimization that produces the bugs. If the implementation does so, there is a bug in the implementation. One more thing concerning bugs: I read recently a ComputerWorld article on cross-compilers in which someone (from the defense community) said "There is an Ada validation suite which guarantees that an Ada compiler has no bugs". This is a gross misundertanding of the nature of the validation process. The validation suite has its limits, and it DOES NOT indicate that a compiler is: * good * bug free * useful for a particular application domain * anything but a conformance to ANSI/MIL-STD 1815A-1983 Many Ada implementations are excellent, solid products with many man-years of effort behind them. The fact that some bugs could exist in such large and complex products is not at all suprising. As for those products which pass validation but are of poor quality, the only thing that can be said is "to the victor go the spoils" -- meaning of course that the bad compilers will be driven out of the market. Stanley Allen allen_s%asd.span@jpl-vlsi.arpa