Questions of optimizations

grunwald@m.cs.uiuc.edu (Dirk Grunwald)
Thu, 10 Dec 87 23:28:53 CST

          From comp.compilers

Related articles
Questions of optimizations grunwald@m.cs.uiuc.edu (1987-12-10)
Re: Questions of optimizations uiucdcs!uunet!geac!daveb (1987-12-23)
| List of all articles for this month |

Date: Thu, 10 Dec 87 23:28:53 CST
From: grunwald@m.cs.uiuc.edu (Dirk Grunwald)

Here's a topic to stir things up.


I've taking a seminar on optimizations this semester. Recently, we read the
papers from WRL concerning link-time register allocation.


In the paper (it appears in the last ASPLOS, I think?) Wahl says that link
time register allocation allows for better global register analysis, which
is rather an obvious statement, since you're linking the parts into the
global whole.


Are there compilers other than the DEC-WRL suite which compile to a link
time form and do optimizations at link time? Any references?


There would seem to be a large number of global optimizations available
at that time: alias analysis, register allocation, in-line expansion,
parallelism detection, etc.


Realisticlly, it would also favour the edit-compile cycle. With the
optimizations deferred until the later stages of the compile, the lexical
and syntactic analysis would be faster. The size of intermediate files might
increase a great deal, but the performance gains would certainly be worthwhile.


dirk grunwald
univ of illinois
[A recent message mentioned that minix uses slightly squashed assembler for
its object format. A message a few months ago in the discussion of writing
a machine independent C compiler that compiled to bytecodes talked about a
commercial compiler system from way back that used what we would now consider
to be an intermediate compiler code as its object form. I'd be interested
to hear how much slower this makes a linker, considering that most linkers
are none too fast now. And is there any way to reconcile this with things
like shared libraries and Multics-style dynamic linking? -John]
--


Post a followup to this message

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