Related articles |
---|
Detailed algorithms on inline optimization pengyu.ut@gmail.com (Peng Yu) (2010-01-18) |
Re: Detailed algorithms on inline optimization bobduff@shell01.TheWorld.com (Robert A Duff) (2010-01-19) |
Re: Detailed algorithms on inline optimization holgersiegel74@yahoo.de (Holger Siegel) (2010-01-20) |
Re: Detailed algorithms on inline optimization bobduff@shell01.TheWorld.com (Robert A Duff) (2010-01-19) |
Re: Detailed algorithms on inline optimization gneuner2@comcast.net (George Neuner) (2010-01-19) |
Re: Detailed algorithms on inline optimization miles@gnu.org (Miles Bader) (2010-01-20) |
Re: Detailed algorithms on inline optimization rangsynth@gmail.com (Robin Holmes) (2010-01-20) |
Re: Detailed algorithms on inline optimization jeremy.wright@microfocus.com (Jeremy Wright) (2010-01-20) |
Re: Detailed algorithms on inline optimization dot@dotat.at (Tony Finch) (2010-01-21) |
[11 later articles] |
From: | Holger Siegel <holgersiegel74@yahoo.de> |
Newsgroups: | comp.compilers |
Date: | Wed, 20 Jan 2010 01:57:06 +0100 |
Organization: | Compilers Central |
References: | 10-01-058 |
Keywords: | optimize |
Posted-Date: | 19 Jan 2010 23:10:38 EST |
Am Montag, den 18.01.2010, 07:09 -0800 schrieb Peng Yu:
> I'm looking for detailed algorithms on inline optimization. But I only
> find some document like http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html,
> which describes different ways of doing inline. Is 'inline' so trivial
> that it is not worthwhile to explain how it is implemented?
>
> If there is some reference that describe inline in details, could
> somebody let me?
> [Unless you're trying to in-line a recursive function, it's pretty straightforward. -John]
The paper 'Secrets of the Glasgow Haskell Compiler inliner' by Simon
Peyton Jones and Simon Marlow explains how inlining is implemented in
the Haskell compiler GHC:
"... The purpose of this paper is, therefore, to articulate the key
lessons we learned from a full-scale ``production'' inliner, the one
used in the Glasgow Haskell compiler. We focus mainly on the algorithmic
aspects, but we also provide some indicative measurements to
substantiate the importance of various aspects of the inliner."
You can find it at
http://www.haskell.org/~simonmar/bib/ghcinliner02_abstract.html
It sketches some of the heuristics needed to avoid exponential bloat and
shows how one can deal with recursive declarations.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.