Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ncoast.UUCP Path: utzoo!utcsrgv!garfield!philabs!cmcl2!seismo!harvard!godot!mit-eddie!genrad!decvax!cwruecmp!atvax!ncoast!bsa From: bsa@ncoast.UUCP (Brandon Allbery (the tame hacker on the North Coast)) Newsgroups: net.unix-wizards,net.lang Subject: Re: smart compilers Message-ID: <524@ncoast.UUCP> Date: Tue, 1-Jan-85 16:49:43 EST Article-I.D.: ncoast.524 Posted: Tue Jan 1 16:49:43 1985 Date-Received: Wed, 2-Jan-85 22:41:46 EST References: <6599@brl-tgr.ARPA> <979@opus.UUCP> <6831@watdaisy.UUCP> <11496@gatech.UUCP> Reply-To: bsa@ncoast.UUCP (Brandon Allbery (the tame hacker on the North Coast)) Organization: The North Coast Xenix System, Cleveland Lines: 29 It occurs to me that there are two ways to look at optimizers: 1) That an optimizer optimizes, not the language code, but ASSEMBLER code, and hence does not need to follow the language standard; 2) That an optimizer must follow the language standard exactly, and hence should optimize the language code itself. If you accept (1), as every optimizer I've seen is designed to do, you are likely to see an optimizer that will occasionally fail. If (2), there is little optimization possible, especially in a language like Pascal where you can't manipulate the machine directly. All you who complain about optimizers breaking code: look at the current discussion of the correct optimization of a piece of ForTran code. No one has yet proposed an optimization (type 2) that does the same thing as the original code. And if it's hard in ForTran, how much harder in Assembler? Let's face it, guys -- placing any limitations (i.e. standards) on a programming language is going to make an executing program in that language slower. Optimizing is often simply ignoring some of the standards and removing their effects from the generated code. --bsa -- Brandon Allbery @ decvax!cwruecmp!ncoast!bsa (..ncoast!tdi1!bsa business) 6504 Chestnut Road, Independence, Ohio 44131 (216) 524-1416 Who said you had to be (a) a poor programmer or (b) a security hazard to be a hacker?