Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About compiler optimizations

Author: Robert Hyatt

Date: 09:10:15 12/23/02

Go up one level in this thread


On December 23, 2002 at 09:29:40, Vincent Diepeveen wrote:

>On December 21, 2002 at 23:47:48, Robert Hyatt wrote:
>
>>On December 21, 2002 at 21:20:26, Vincent Diepeveen wrote:
>>
>>>On December 21, 2002 at 17:45:43, Matt Taylor wrote:
>>>
>>>>On December 21, 2002 at 17:29:11, Vincent Diepeveen wrote:
>>>>
>>>>>On December 21, 2002 at 14:32:18, Matt Taylor wrote:
>>>>>
>>>>>checkout the compiler faq at :
>>>>>
>>>>>http://www.cs.strath.ac.uk/~hl/classes/52.358/FAQ/passes.html
>>>>>
>>>>>[off topic nonsense removed]
>>>>
>>>>Ok, the FAQ explains to me principles which were self-evident. When you read the
>>>>FAQ, you realize that an optimizing single-pass C compiler is not possible.
>>>>
>>>>"Optimization: Only really possible with a multi-pass compiler"
>>>>
>>>>It also reaffirms what I'd already stated -- multi-pass compilers are EASIER to
>>>>write because the code is more modular and has less coupling. Just about the
>>>>only data structure that you're going to rely on to go between stages is the
>>>>AST, and that's not that difficult.
>>>>
>>>>This is quite familiar for me as I've been working on a compiler implementation
>>>>for a C-like language. (Actually it's more like C++, but it lacks multiple
>>>>inheritance and templates.)
>>>>
>>>>-Matt
>>>
>>>If you have 'so much' experience with compilers, whereas i consider myself
>>>a layman; i just wrote a few very very primitif compilers (and no assembly
>>>output of them even); i wonder why you do not know what 'single pass
>>>compiler' means. It has to do with how many times a compiler reads
>>>the source code. Not so much how many high level optimizations
>>>you apply to it.
>>>
>>>So now you learned again something.
>>>
>>>Best regards,
>>>Vincent.
>>
>>No...  _you_ have learned _nothing_.  You are using a totally twisted definition
>>of "single-pass".  A pass is a pass over the program.  Whether it be the source
>>code, the intermediate output from pass 1 as is gone over by pass 2.  Etc.
>>
>>Please read something _first_.
>>
>>I _have_ written compilers.  I _have_ taught a compiler course multiple times.
>
>Then you should know clearly that there is a big difference between
>the original compilers that perform simple tasks and the definitions
>when applied to todays high level languages.


There is _no_ difference.  Compilers in 1970 behaved exactly as they behave
today.  The IBM fortran-H compiler of 1969 was every bit as good as compilers
of today.  It inlined.  It did strength-reduction.  It made multiple passes.

So again, I have no idea what you are talking about.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.