Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uwm.edu!rpi!zaphod.mps.ohio-state.edu!think!snorkelwacker!spdcc!esegue!compilers-sender From: mike@thor.acc.stolaf.edu (Mike Haertel) Newsgroups: comp.compilers Subject: Re: Compiler Design in C How about it? Keywords: books, optimize Message-ID: <1990Jun5.174009.3108@esegue.segue.boston.ma.us> Date: 5 Jun 90 17:40:09 GMT References: <1990Jun1.194941.5781@esegue.segue.boston.ma.us> <1990Jun4.044858.15066@esegue.segue.boston.ma.us> <1990Jun4.212544.18596@esegue.segue.boston.ma.us> Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: mike@thor.acc.stolaf.edu (Mike Haertel) Organization: Free Software Foundation Lines: 28 Approved: compilers@esegue.segue.boston.ma.us In article <1990Jun4.212544.18596@esegue.segue.boston.ma.us> tbrakitz@phoenix.princeton.edu (Byron Rakitzis) writes: >I've heard quite the opposite from Richard Stallman about his GCC >compiler, paradoxically enough: he claims that there are more bugs in >"gcc" as opposed to "gcc -O" since most of the time gcc users turn the >optimizer on (and hence have uncovered the optimizer bugs) and also >that the optimizer tends to hide a few bugs in the code generator by >never letting it generate the bad code in the first place! There have indeed been substantially worse problems with the code generator in GCC than there have with the optimizer. Or at least, this is the impression I have gotten in conversations with RMS. The optimizer has a rather more well-defined problem: Optimizing sequences of RTL instructions. The code generator has to produce those instructions in the first place, and it does so with a variety of ad-hoc techniques that are severely conditionalized on the characteristics of the target machine. The use of ad-hoc techinques as opposed to more uniform strategies is obviously a potentially very rich source of bugs. The optimizer, in contrast, deals with the same RTL language for all target machines, and also uses more well-defined algorithms from the literature. -- Mike Haertel -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus}!esegue. Meta-mail to compilers-request@esegue. Please send responses to the author of the message, not the poster.