Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!danews!lvc From: lvc@danews.UUCP Newsgroups: comp.arch,comp.lang.c Subject: Re: Optimization vs. the programmer Message-ID: <484@danews.ATT.COM> Date: Wed, 8-Apr-87 16:54:37 EST Article-I.D.: danews.484 Posted: Wed Apr 8 16:54:37 1987 Date-Received: Sat, 11-Apr-87 09:13:49 EST References: <479@danews.ATT.COM> <16294@sun.uucp> Organization: AT&T Medical Information Systems, Columbus, Oh Lines: 34 Xref: utgpu comp.arch:816 comp.lang.c:1530 In article <16294@sun.uucp>, guy%gorodish@Sun.COM (Guy Harris) writes: >That's a nice general request, and as such nearly useless. What does >"do what I tell it" mean? To what level of detail are you "telling >it"? Do you think moving invariant computations out of loops is not "doing what you tell it"? What about strength reductions? What >about eliminating assignments to dead variables? > >Compiler writers simply can't anticipate every single potential >hardware problem that may crop up and that may require you to put in >code that is in principle redundant. Thanks for your comments. Your points are well taken. I guess I meant at the "source code level" but I see that isn't very useful. My preference is for a program (perhaps a phase of an optimizing compiler) that would take source code and generate optimized *source* code. Additionally, messages saying why the transformations are better would be great to have. I believe such programs are available for Fortran (or do these concentrate on vectorization) but I've never seen one for C. I want to be able to use assembly language debuggers and follow a *source* listing that I have in front of me on my desk. Then I would not mind if the optimizer did all these things. Granted some optimizations occur at the assembly language level, but those wouldn't affect my ability to follow the code very much. What is strength reduction? -- Larry Cipriani, AT&T Network Systems, Columbus OH, (614) 860-4999