Re: What is the meaning of an expression?

Thomas Koenig <tkoenig@netcologne.de>
Sat, 22 Jan 2022 20:46:29 -0000 (UTC)

          From comp.compilers

Related articles
[11 earlier articles]
Re: What is the meaning of an expression? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-01-19)
Re: What is the meaning of an expression? 0xe2.0x9a.0x9b@gmail.com (Jan Ziak) (2022-01-19)
Re: What is the meaning of an expression? christopher.f.clark@compiler-resources.com (Christopher F Clark) (2022-01-19)
Re: What is the meaning of an expression? tkoenig@netcologne.de (Thomas Koenig) (2022-01-19)
Re: What is the meaning of an expression? gah4@u.washington.edu (gah4) (2022-01-19)
Re: What is the meaning of an expression? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-01-20)
Re: What is the meaning of an expression? tkoenig@netcologne.de (Thomas Koenig) (2022-01-22)
Re: What is the meaning of an expression? dave_thompson_2@comcast.net (2022-01-30)
Re: What is the meaning of an expression? johann@myrkraverk.invalid (Johann 'Myrkraverk' Oskarsson) (2022-02-03)
| List of all articles for this month |
From: Thomas Koenig <tkoenig@netcologne.de>
Newsgroups: comp.compilers
Date: Sat, 22 Jan 2022 20:46:29 -0000 (UTC)
Organization: news.netcologne.de
References: 22-01-052 22-01-060 22-01-066 22-01-067 22-01-068 22-01-069 22-01-071
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="72249"; mail-complaints-to="abuse@iecc.com"
Keywords: code, optimize
Posted-Date: 22 Jan 2022 18:49:35 EST

Christopher F Clark <christopher.f.clark@compiler-resources.com> schrieb:


> The second one was from my own experience working on the Alpha
> optimizer at DEC. The C++ compiler was one of the last pieces of
> software to use the one based upon Fred Chow's work. That was my
> responsibility at the time (the optimizer, not the C++ compiler). In
> any case, the front end writers were very aggressive in inlining
> subroutines and doing whole-program optimization by that trick.


When to inline and when not to inline is still a major issue today.


> The result was very massive files of the intermediate representation. The
> result, for certain large (and important) C++ programs the compiler
> would work for days before it had filled up all the paging space on
> the engineering cluster at DEC, which was multiple disks of paging and
> as a result crashed not only the compiler, but in some cases the
> entire cluster. This made for some very unhappy users, because they
> had waited days and they still didn't get a successful compilation.


https://xkcd.com/303/ and https://dilbert.com/strip/1998-06-04
come to mind :-)




> Fortunately, a small amount of analysis on my part allowed me to
> realize that most of the optimizers data structures while N-squared in
> size, were actually filled with mostly zero values.


Quadratic algorithms (if in space or in time) are a progressively
bad idea. Programs are getting bigger, and anybody who thinkis
a quadratic algrorithm is OK, will be hit sooner or later with a
(real-life) test case which brings it out into the open.


Just a random example: Some time ago, a test case for gcc was
submitted which used up hours and Gigabytes for compiliation.
It consisted of a single basic block in a subroutine, with thousands
of variables and thousands of assignments (getting translated into
ten thousands of SSA statements).


This code was not written by a human, but by a computer algrebra
system expanding some complicated formula.


Post a followup to this message

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