Effectiveness of compilers today

kanze@us-es.sel.de (James Kanze)
Wed, 17 Feb 1993 14:17:26 GMT

          From comp.compilers

Related articles
Effectiveness of compilers today andreasa@dhhalden.no (1993-02-14)
Re: Effectiveness of compilers today pardo@cs.washington.edu (1993-02-16)
Effectiveness of compilers today kanze@us-es.sel.de (1993-02-17)
Re: Effectiveness of compilers today jpab+@andrew.cmu.edu (Josh N. Pritikin) (1993-02-17)
Re: Effectiveness of compilers today burley@apple-gunkies.gnu.ai.mit.edu (1993-02-17)
Re: Effectiveness of compilers today jbuck@forney.berkeley.edu (1993-02-17)
Re: Effectiveness of compilers today napi@cs.indiana.edu (mohd hanafiah abdullah) (1993-02-17)
Re: Effectiveness of compilers today moss@cs.cmu.edu (1993-02-18)
Re: Effectiveness of compilers today preston@dawn.cs.rice.edu (1993-02-18)
[9 later articles]
| List of all articles for this month |
Newsgroups: comp.compilers
From: kanze@us-es.sel.de (James Kanze)
Keywords: optimize
Organization: Compilers Central
References: 93-02-082
Date: Wed, 17 Feb 1993 14:17:26 GMT

ANDREAS ARFF writes:
|> Many years ago I heard for the first time the statement that compilers
|> generated more efficient code than many assembler programmers did. [Is
|> this really true?]


Wouldn't this depend somewhat on the architecture of the target machine?
Machines such as the Intel 80x86 line are notoriously difficult to compile
to; an experienced programmer for such a processor will easily beat the
best compiler by a factor of two or more. On the other hand, the late NSC
32000 had an architecture designed to make life easy for the compiler, and
I would be surprized if anyone could beat a really good compiler by a
significant factor.


Along these lines, does anyone know of any research done on using semantic
information in register allocation. For example, if as an 8086 assembler
programmer, I see a function definition:
f( char* dst , const char* src )
I will immediately choose DI as the register for dst and SI for src (and
not the inverse). While I wouldn't expect the compiler to recognize the
significance of the symbol dst itself, I could imagine deferring actual
choice of registers until after the entire function has been parsed,
counting different kinds of use during the parse, and then using this
information to optimize register allocation.
--
James Kanze email: kanze@us-es.sel.de
GABI Software, Sarl., 8 rue du Faisan, F-67000 Strasbourg, France
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.